60806040526040518060400160405280600b81526020017f4261627920536861726269000000000000000000000000000000000000000000815250600890805190602001906200005192919062000e5b565b506040518060400160405280600881526020017f2442534841524249000000000000000000000000000000000000000000000000815250600990805190602001906200009f92919062000e5b565b506009600a60006101000a81548160ff021916908360ff160217905550683635c9adc5dea00000600b55620000e8620186a0600b5462000d7060201b62002b6e1790919060201c565b601255620001086064600b5462000d7060201b62002b6e1790919060201c565b601355620001286064600b5462000d7060201b62002b6e1790919060201c565b6014556103e8601555603c6016556001601860016101000a81548160ff021916908315150217905550600a6019556014601a55601e601b55600a601c556014601d55601e80556000601f55600060205560006021553480156200018a57600080fd5b506200019b62000dc260201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600b54600160006200026c62000dca60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555033601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073fbe80249c95d20f8c87327db3721c77581999493600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550732441056132d344d57326344aadd0e0c1a3945688600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c99808c486d2a4cb5c0a0402066098fbdb77a2ec601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000451573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000477919062000f75565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308473ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000505919062000f75565b6040518363ffffffff1660e01b81526004016200052492919062000fb8565b6020604051808303816000875af115801562000544573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200056a919062000f75565b905080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360006200060462000dca60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460006200083162000dca60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016005600062000a5e62000dca60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000cff62000dca60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b5460405162000d60919062001000565b60405180910390a35050620011b1565b600062000dba83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000df360201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000808311829062000e3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000e349190620010c1565b60405180910390fd5b506000838562000e4e919062001114565b9050809150509392505050565b82805462000e69906200117b565b90600052602060002090601f01602090048101928262000e8d576000855562000ed9565b82601f1062000ea857805160ff191683800117855562000ed9565b8280016001018555821562000ed9579182015b8281111562000ed857825182559160200191906001019062000ebb565b5b50905062000ee8919062000eec565b5090565b5b8082111562000f0757600081600090555060010162000eed565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000f3d8262000f10565b9050919050565b62000f4f8162000f30565b811462000f5b57600080fd5b50565b60008151905062000f6f8162000f44565b92915050565b60006020828403121562000f8e5762000f8d62000f0b565b5b600062000f9e8482850162000f5e565b91505092915050565b62000fb28162000f30565b82525050565b600060408201905062000fcf600083018562000fa7565b62000fde602083018462000fa7565b9392505050565b6000819050919050565b62000ffa8162000fe5565b82525050565b600060208201905062001017600083018462000fef565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015620010595780820151818401526020810190506200103c565b8381111562001069576000848401525b50505050565b6000601f19601f8301169050919050565b60006200108d826200101d565b62001099818562001028565b9350620010ab81856020860162001039565b620010b6816200106f565b840191505092915050565b60006020820190508181036000830152620010dd818462001080565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620011218262000fe5565b91506200112e8362000fe5565b925082620011415762001140620010e5565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200119457607f821691505b60208210811415620011ab57620011aa6200114c565b5b50919050565b615c1a80620011c16000396000f3fe6080604052600436106103905760003560e01c8063879dd3c5116101dc578063ce5c0cfc11610102578063ec44acf2116100a0578063f242ab411161006f578063f242ab4114610d69578063f2fde38b14610d94578063f4b3dbc314610dbd578063fe6f1b0514610dfa57610397565b8063ec44acf214610cc1578063ed42142914610cec578063f097ea1a14610d29578063f14250ee14610d5257610397565b8063de26b6dd116100dc578063de26b6dd14610c17578063e5ffda2a14610c42578063e6c84dc614610c6d578063ea5b9e8514610c9857610397565b8063ce5c0cfc14610b84578063d2e4f00f14610baf578063dd62ed3e14610bda57610397565b80639a36dfa11161017a578063b0a30f6a11610149578063b0a30f6a14610adc578063b0bc2a2d14610b07578063be19674b14610b30578063bf56b37114610b5957610397565b80639a36dfa114610a0e5780639b6a275014610a39578063a457c2d714610a62578063a9059cbb14610a9f57610397565b80638da5cb5b116101b65780638da5cb5b1461095257806391ce43ac1461097d57806395d89b41146109a657806399b102b5146109d157610397565b8063879dd3c5146108d35780638a8c523c146108fe5780638cc080251461091557610397565b806339509351116102c1578063715018a61161025f5780637d99c66d1161022e5780637d99c66d14610817578063844af78e1461084257806384ea21bc1461086d5780638756aabd146108aa57610397565b8063715018a61461077f57806375f0a8741461079657806379777b4e146107c15780637c6a9a9c146107ec57610397565b80635e8960321161029b5780635e896032146106c5578063679a3c59146106ee578063681aa3621461071757806370a082311461074257610397565b8063395093511461060e5780633bbac5791461064b5780635342acb41461068857610397565b806318160ddd1161032e5780632d129390116103085780632d12939014610566578063313ce5671461058f5780633326d7f2146105ba578063334c1439146105e557610397565b806318160ddd146104d35780631884f1e6146104fe57806323b872dd1461052957610397565b80630a2d140c1161036a5780630a2d140c1461042f5780630d0688b31461045857806310a60f0214610481578063151cd1c2146104aa57610397565b806306fdde031461039c5780630758d924146103c7578063095ea7b3146103f257610397565b3661039757005b600080fd5b3480156103a857600080fd5b506103b1610e25565b6040516103be91906146be565b60405180910390f35b3480156103d357600080fd5b506103dc610eb7565b6040516103e9919061475f565b60405180910390f35b3480156103fe57600080fd5b5061041960048036038101906104149190614802565b610edd565b604051610426919061485d565b60405180910390f35b34801561043b57600080fd5b50610456600480360381019061045191906148a4565b610efb565b005b34801561046457600080fd5b5061047f600480360381019061047a91906148d1565b610fad565b005b34801561048d57600080fd5b506104a860048036038101906104a39190614a46565b611086565b005b3480156104b657600080fd5b506104d160048036038101906104cc9190614aa2565b6111b0565b005b3480156104df57600080fd5b506104e86112ee565b6040516104f59190614b04565b60405180910390f35b34801561050a57600080fd5b506105136112f8565b6040516105209190614b04565b60405180910390f35b34801561053557600080fd5b50610550600480360381019061054b9190614b1f565b6112fe565b60405161055d919061485d565b60405180910390f35b34801561057257600080fd5b5061058d60048036038101906105889190614b72565b6113d7565b005b34801561059b57600080fd5b506105a46114c7565b6040516105b19190614bce565b60405180910390f35b3480156105c657600080fd5b506105cf6114de565b6040516105dc9190614b04565b60405180910390f35b3480156105f157600080fd5b5061060c60048036038101906106079190614be9565b6114e4565b005b34801561061a57600080fd5b5061063560048036038101906106309190614802565b611641565b604051610642919061485d565b60405180910390f35b34801561065757600080fd5b50610672600480360381019061066d91906148d1565b6116f4565b60405161067f919061485d565b60405180910390f35b34801561069457600080fd5b506106af60048036038101906106aa91906148d1565b611714565b6040516106bc919061485d565b60405180910390f35b3480156106d157600080fd5b506106ec60048036038101906106e79190614b72565b611734565b005b3480156106fa57600080fd5b50610715600480360381019061071091906148d1565b611824565b005b34801561072357600080fd5b5061072c611903565b6040516107399190614b04565b60405180910390f35b34801561074e57600080fd5b50610769600480360381019061076491906148d1565b611909565b6040516107769190614b04565b60405180910390f35b34801561078b57600080fd5b50610794611952565b005b3480156107a257600080fd5b506107ab611aa5565b6040516107b89190614c4b565b60405180910390f35b3480156107cd57600080fd5b506107d6611acb565b6040516107e3919061485d565b60405180910390f35b3480156107f857600080fd5b50610801611ade565b60405161080e9190614b04565b60405180910390f35b34801561082357600080fd5b5061082c611ae4565b6040516108399190614b04565b60405180910390f35b34801561084e57600080fd5b50610857611aea565b6040516108649190614b04565b60405180910390f35b34801561087957600080fd5b50610894600480360381019061088f91906148d1565b611af0565b6040516108a1919061485d565b60405180910390f35b3480156108b657600080fd5b506108d160048036038101906108cc9190614c66565b611b10565b005b3480156108df57600080fd5b506108e8611c08565b6040516108f5919061485d565b60405180910390f35b34801561090a57600080fd5b50610913611c1b565b005b34801561092157600080fd5b5061093c600480360381019061093791906148d1565b611d5a565b604051610949919061485d565b60405180910390f35b34801561095e57600080fd5b50610967611d7a565b6040516109749190614c4b565b60405180910390f35b34801561098957600080fd5b506109a4600480360381019061099f9190614a46565b611da3565b005b3480156109b257600080fd5b506109bb611ecd565b6040516109c891906146be565b60405180910390f35b3480156109dd57600080fd5b506109f860048036038101906109f391906148d1565b611f5f565b604051610a05919061485d565b60405180910390f35b348015610a1a57600080fd5b50610a23611f7f565b604051610a309190614b04565b60405180910390f35b348015610a4557600080fd5b50610a606004803603810190610a5b9190614c66565b611f85565b005b348015610a6e57600080fd5b50610a896004803603810190610a849190614802565b61207d565b604051610a96919061485d565b60405180910390f35b348015610aab57600080fd5b50610ac66004803603810190610ac19190614802565b61214a565b604051610ad3919061485d565b60405180910390f35b348015610ae857600080fd5b50610af1612168565b604051610afe9190614c4b565b60405180910390f35b348015610b1357600080fd5b50610b2e6004803603810190610b2991906148a4565b61218e565b005b348015610b3c57600080fd5b50610b576004803603810190610b529190614aa2565b612240565b005b348015610b6557600080fd5b50610b6e61236b565b604051610b7b9190614b04565b60405180910390f35b348015610b9057600080fd5b50610b99612371565b604051610ba69190614c4b565b60405180910390f35b348015610bbb57600080fd5b50610bc4612397565b604051610bd19190614c4b565b60405180910390f35b348015610be657600080fd5b50610c016004803603810190610bfc9190614c93565b6123bd565b604051610c0e9190614b04565b60405180910390f35b348015610c2357600080fd5b50610c2c612444565b604051610c399190614b04565b60405180910390f35b348015610c4e57600080fd5b50610c5761244a565b604051610c649190614b04565b60405180910390f35b348015610c7957600080fd5b50610c82612450565b604051610c8f9190614b04565b60405180910390f35b348015610ca457600080fd5b50610cbf6004803603810190610cba9190614b72565b612456565b005b348015610ccd57600080fd5b50610cd6612546565b604051610ce3919061485d565b60405180910390f35b348015610cf857600080fd5b50610d136004803603810190610d0e9190614c66565b612559565b604051610d209190614b04565b60405180910390f35b348015610d3557600080fd5b50610d506004803603810190610d4b9190614c66565b6125b8565b005b348015610d5e57600080fd5b50610d6761269a565b005b348015610d7557600080fd5b50610d7e612921565b604051610d8b9190614c4b565b60405180910390f35b348015610da057600080fd5b50610dbb6004803603810190610db691906148d1565b612947565b005b348015610dc957600080fd5b50610de46004803603810190610ddf9190614c66565b612b09565b604051610df19190614b04565b60405180910390f35b348015610e0657600080fd5b50610e0f612b68565b604051610e1c9190614b04565b60405180910390f35b606060088054610e3490614d02565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6090614d02565b8015610ead5780601f10610e8257610100808354040283529160200191610ead565b820191906000526020600020905b815481529060010190602001808311610e9057829003601f168201915b5050505050905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ef1610eea612bb8565b8484612bc0565b6001905092915050565b610f03612bb8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8790614d80565b60405180910390fd5b80601860006101000a81548160ff02191690831515021790555050565b610fb5612bb8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611042576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103990614d80565b60405180910390fd5b80601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61108e612bb8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461111b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111290614d80565b60405180910390fd5b60005b82518110156111ab57816007600085848151811061113f5761113e614da0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806111a390614dfe565b91505061111e565b505050565b6111b8612bb8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611245576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123c90614d80565b60405180910390fd5b82601d8190555080601e8190555081601c819055506112836064611275600f601554612d8b90919063ffffffff16565b612b6e90919063ffffffff16565b6112a88261129a8587612e0690919063ffffffff16565b612e0690919063ffffffff16565b11156112e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e090614e93565b60405180910390fd5b505050565b6000600b54905090565b60125481565b600061130b848484612e64565b6113cc84611317612bb8565b6113c7856040518060600160405280602b8152602001615b8f602b9139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061137d612bb8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461356e9092919063ffffffff16565b612bc0565b600190509392505050565b6113df612bb8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461146c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146390614d80565b60405180910390fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600a60009054906101000a900460ff16905090565b60195481565b6114ec612bb8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611579576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157090614d80565b60405180910390fd5b82600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60006116ea61164e612bb8565b846116e5856002600061165f612bb8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e0690919063ffffffff16565b612bc0565b6001905092915050565b60076020528060005260406000206000915054906101000a900460ff1681565b60036020528060005260406000206000915054906101000a900460ff1681565b61173c612bb8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c090614d80565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61182c612bb8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b090614d80565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156118ff573d6000803e3d6000fd5b5050565b60145481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61195a612bb8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119de90614d80565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601860009054906101000a900460ff1681565b601a5481565b60165481565b601d5481565b60056020528060005260406000206000915054906101000a900460ff1681565b611b18612bb8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ba5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9c90614d80565b60405180910390fd5b611bbc601554600b54612b6e90919063ffffffff16565b811015611bfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf590614f25565b60405180910390fd5b8060138190555050565b601860019054906101000a900460ff1681565b611c23612bb8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611cb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca790614d80565b60405180910390fd5b601860029054906101000a900460ff1615611d00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf790614f91565b60405180910390fd5b6001601860026101000a81548160ff0219169083151502179055506001601860016101000a81548160ff0219169083151502179055506001601860006101000a81548160ff02191690831515021790555042601781905550565b60066020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611dab612bb8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2f90614d80565b60405180910390fd5b60005b8251811015611ec8578160046000858481518110611e5c57611e5b614da0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611ec090614dfe565b915050611e3b565b505050565b606060098054611edc90614d02565b80601f0160208091040260200160405190810160405280929190818152602001828054611f0890614d02565b8015611f555780601f10611f2a57610100808354040283529160200191611f55565b820191906000526020600020905b815481529060010190602001808311611f3857829003601f168201915b5050505050905090565b60046020528060005260406000206000915054906101000a900460ff1681565b60135481565b611f8d612bb8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461201a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201190614d80565b60405180910390fd5b612031601554600b54612b6e90919063ffffffff16565b811015612073576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206a90614f25565b60405180910390fd5b8060148190555050565b600061214061208a612bb8565b8461213b856040518060600160405280602b8152602001615bba602b9139600260006120b4612bb8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461356e9092919063ffffffff16565b612bc0565b6001905092915050565b600061215e612157612bb8565b8484612e64565b6001905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b612196612bb8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612223576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221a90614d80565b60405180910390fd5b80601860016101000a81548160ff02191690831515021790555050565b612248612bb8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146122d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122cc90614d80565b60405180910390fd5b82601a8190555080601b8190555081601981905550612300600a601554612b6e90919063ffffffff16565b612325826123178587612e0690919063ffffffff16565b612e0690919063ffffffff16565b1115612366576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235d90614e93565b60405180910390fd5b505050565b60175481565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601e5481565b601b5481565b601c5481565b61245e612bb8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146124eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e290614d80565b60405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601860029054906101000a900460ff1681565b6000806125ad60155461259f612590601b54612582601954601a54612e0690919063ffffffff16565b612e0690919063ffffffff16565b86612d8b90919063ffffffff16565b612b6e90919063ffffffff16565b905080915050919050565b6125c0612bb8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461264d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264490614d80565b60405180910390fd5b60008111612690576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268790614ffd565b60405180910390fd5b8060128190555050565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612727576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161271e90615069565b60405180910390fd5b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b81526004016127849190614c4b565b602060405180830381865afa1580156127a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c5919061509e565b90506000811161280a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161280190615117565b60405180910390fd5b61281c612815611d7a565b3383612e64565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd33612863611d7a565b846040518463ffffffff1660e01b815260040161288293929190615137565b6020604051808303816000875af11580156128a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128c59190615183565b506001600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61294f612bb8565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129d390614d80565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a4390615222565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080612b5d601554612b4f612b40601e54612b32601c54601d54612e0690919063ffffffff16565b612e0690919063ffffffff16565b86612d8b90919063ffffffff16565b612b6e90919063ffffffff16565b905080915050919050565b60155481565b6000612bb083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506135d2565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612c30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c27906152b4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ca0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c9790615346565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612d7e9190614b04565b60405180910390a3505050565b600080831415612d9e5760009050612e00565b60008284612dac9190615366565b9050828482612dbb91906153ef565b14612dfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612df290615492565b60405180910390fd5b809150505b92915050565b6000808284612e1591906154b2565b905083811015612e5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e5190615554565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612ed4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ecb906155e6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612f44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f3b90615678565b60405180910390fd5b60008111612f87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f7e9061570a565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613014576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161300b90615776565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156130b85750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156133d857601454811115613102576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130f9906157e2565b60405180910390fd5b601860029054906101000a900460ff16613202578273ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141580156131c257508173ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b613201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131f89061584e565b60405180910390fd5b5b60165460175461321291906154b2565b4210801561326e5750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156133d7578273ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613326576001600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506133d6565b8173ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156133d5576001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b5b5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16613489576013546134478261343985611909565b612e0690919063ffffffff16565b1115613488576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161347f906158ba565b60405180910390fd5b5b6134938383613635565b600060019050600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061353a5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806135525750601860019054906101000a900460ff16155b1561355c57600090505b61356884848484613a33565b50505050565b60008383111582906135b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135ad91906146be565b60405180910390fd5b50600083856135c591906158da565b9050809150509392505050565b60008083118290613619576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161361091906146be565b60405180910390fd5b506000838561362891906153ef565b9050809150509392505050565b600061364030611909565b9050600060125482101590508080156136a75750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156136bf5750601860009054906101000a900460ff165b801561375057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561374e5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b155b15613a2d5761378230600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612bc0565b600061379a6002601f54612b6e90919063ffffffff16565b905060006137b382601f546140c790919063ffffffff16565b905060006137ca82866140c790919063ffffffff16565b905060004790506137fd600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683614111565b600061381282476140c790919063ffffffff16565b9050600061383b8461382d8885612d8b90919063ffffffff16565b612b6e90919063ffffffff16565b905060006138668561385860205486612d8b90919063ffffffff16565b612b6e90919063ffffffff16565b9050600061388f8261388185876140c790919063ffffffff16565b6140c790919063ffffffff16565b90506000831115613926576138ea600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1689866142f7565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb56188848960405161391d9392919061590e565b60405180910390a15b600082111561399957600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015613997573d6000803e3d6000fd5b505b6000811115613a0c57600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015613a0a573d6000803e3d6000fd5b505b6000601f819055506000602081905550600060218190555050505050505050505b50505050565b8373ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015613a8d5750805b15613c96576000613a9d83612559565b90506000613ab482856140c790919063ffffffff16565b9050613b3f846040518060400160405280601e81526020017f24425348415242493a20696e73756666696369656e742062616c616e63650000815250600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461356e9092919063ffffffff16565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613bd481600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e0690919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051613c749190614b04565b60405180910390a3613c86868361439b565b613c8f84614499565b50506140c1565b8273ffffffffffffffffffffffffffffffffffffffff16600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015613cf05750805b15613ef9576000613d0083612b09565b90506000613d1782856140c790919063ffffffff16565b9050613da2846040518060400160405280601e81526020017f24425348415242493a20696e73756666696369656e742062616c616e63650000815250600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461356e9092919063ffffffff16565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613e3781600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e0690919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051613ed79190614b04565b60405180910390a3613ee9868361439b565b613ef28461455f565b50506140c0565b613f82826040518060400160405280601e81526020017f24425348415242493a20696e73756666696369656e742062616c616e63650000815250600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461356e9092919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061401782600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e0690919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516140b79190614b04565b60405180910390a35b5b50505050565b600061410983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061356e565b905092915050565b60008290506000600267ffffffffffffffff81111561413357614132614903565b5b6040519080825280602002602001820160405280156141615781602001602082028036833780820191505090505b509050308160008151811061417957614178614da0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156141fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614222919061595a565b8160018151811061423657614235614da0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff1663791ac947846000843061012c4261429f91906154b2565b6040518663ffffffff1660e01b81526004016142bf959493929190615a80565b600060405180830381600087803b1580156142d957600080fd5b505af11580156142ed573d6000803e3d6000fd5b5050505050505050565b60008490508073ffffffffffffffffffffffffffffffffffffffff1663f305d7198330866000808a61012c4261432d91906154b2565b6040518863ffffffff1660e01b815260040161434e96959493929190615ada565b60606040518083038185885af115801561436c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906143919190615b3b565b5050505050505050565b6143ed81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e0690919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161448d9190614b04565b60405180910390a35050565b6144c26015546144b460195484612d8b90919063ffffffff16565b612b6e90919063ffffffff16565b601f60008282546144d391906154b2565b925050819055506145036015546144f5601a5484612d8b90919063ffffffff16565b612b6e90919063ffffffff16565b6020600082825461451491906154b2565b92505081905550614544601554614536601b5484612d8b90919063ffffffff16565b612b6e90919063ffffffff16565b6021600082825461455591906154b2565b9250508190555050565b61458860155461457a601c5484612d8b90919063ffffffff16565b612b6e90919063ffffffff16565b601f600082825461459991906154b2565b925050819055506145c96015546145bb601d5484612d8b90919063ffffffff16565b612b6e90919063ffffffff16565b602060008282546145da91906154b2565b9250508190555061460a6015546145fc601e5484612d8b90919063ffffffff16565b612b6e90919063ffffffff16565b6021600082825461461b91906154b2565b9250508190555050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561465f578082015181840152602081019050614644565b8381111561466e576000848401525b50505050565b6000601f19601f8301169050919050565b600061469082614625565b61469a8185614630565b93506146aa818560208601614641565b6146b381614674565b840191505092915050565b600060208201905081810360008301526146d88184614685565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061472561472061471b846146e0565b614700565b6146e0565b9050919050565b60006147378261470a565b9050919050565b60006147498261472c565b9050919050565b6147598161473e565b82525050565b60006020820190506147746000830184614750565b92915050565b6000604051905090565b600080fd5b600080fd5b6000614799826146e0565b9050919050565b6147a98161478e565b81146147b457600080fd5b50565b6000813590506147c6816147a0565b92915050565b6000819050919050565b6147df816147cc565b81146147ea57600080fd5b50565b6000813590506147fc816147d6565b92915050565b6000806040838503121561481957614818614784565b5b6000614827858286016147b7565b9250506020614838858286016147ed565b9150509250929050565b60008115159050919050565b61485781614842565b82525050565b6000602082019050614872600083018461484e565b92915050565b61488181614842565b811461488c57600080fd5b50565b60008135905061489e81614878565b92915050565b6000602082840312156148ba576148b9614784565b5b60006148c88482850161488f565b91505092915050565b6000602082840312156148e7576148e6614784565b5b60006148f5848285016147b7565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61493b82614674565b810181811067ffffffffffffffff8211171561495a57614959614903565b5b80604052505050565b600061496d61477a565b90506149798282614932565b919050565b600067ffffffffffffffff82111561499957614998614903565b5b602082029050602081019050919050565b600080fd5b60006149c26149bd8461497e565b614963565b905080838252602082019050602084028301858111156149e5576149e46149aa565b5b835b81811015614a0e57806149fa88826147b7565b8452602084019350506020810190506149e7565b5050509392505050565b600082601f830112614a2d57614a2c6148fe565b5b8135614a3d8482602086016149af565b91505092915050565b60008060408385031215614a5d57614a5c614784565b5b600083013567ffffffffffffffff811115614a7b57614a7a614789565b5b614a8785828601614a18565b9250506020614a988582860161488f565b9150509250929050565b600080600060608486031215614abb57614aba614784565b5b6000614ac9868287016147ed565b9350506020614ada868287016147ed565b9250506040614aeb868287016147ed565b9150509250925092565b614afe816147cc565b82525050565b6000602082019050614b196000830184614af5565b92915050565b600080600060608486031215614b3857614b37614784565b5b6000614b46868287016147b7565b9350506020614b57868287016147b7565b9250506040614b68868287016147ed565b9150509250925092565b60008060408385031215614b8957614b88614784565b5b6000614b97858286016147b7565b9250506020614ba88582860161488f565b9150509250929050565b600060ff82169050919050565b614bc881614bb2565b82525050565b6000602082019050614be36000830184614bbf565b92915050565b600080600060608486031215614c0257614c01614784565b5b6000614c10868287016147b7565b9350506020614c21868287016147b7565b9250506040614c32868287016147b7565b9150509250925092565b614c458161478e565b82525050565b6000602082019050614c606000830184614c3c565b92915050565b600060208284031215614c7c57614c7b614784565b5b6000614c8a848285016147ed565b91505092915050565b60008060408385031215614caa57614ca9614784565b5b6000614cb8858286016147b7565b9250506020614cc9858286016147b7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680614d1a57607f821691505b60208210811415614d2e57614d2d614cd3565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614d6a602083614630565b9150614d7582614d34565b602082019050919050565b60006020820190508181036000830152614d9981614d5d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000614e09826147cc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614e3c57614e3b614dcf565b5b600182019050919050565b7f24425348415242493a2063616e2774206265206d6f7265207468616e20313525600082015250565b6000614e7d602083614630565b9150614e8882614e47565b602082019050919050565b60006020820190508181036000830152614eac81614e70565b9050919050565b7f24425348415242493a2073686f756c642062652067726561746572207468616e60008201527f20302e3125000000000000000000000000000000000000000000000000000000602082015250565b6000614f0f602583614630565b9150614f1a82614eb3565b604082019050919050565b60006020820190508181036000830152614f3e81614f02565b9050919050565b7f24425348415242493a20616c726561647920656e61626c656400000000000000600082015250565b6000614f7b601983614630565b9150614f8682614f45565b602082019050919050565b60006020820190508181036000830152614faa81614f6e565b9050919050565b7f24425348415242493a2063616e27742062652030000000000000000000000000600082015250565b6000614fe7601483614630565b9150614ff282614fb1565b602082019050919050565b6000602082019050818103600083015261501681614fda565b9050919050565b7f416c726561647920636c61696d65640000000000000000000000000000000000600082015250565b6000615053600f83614630565b915061505e8261501d565b602082019050919050565b6000602082019050818103600083015261508281615046565b9050919050565b600081519050615098816147d6565b92915050565b6000602082840312156150b4576150b3614784565b5b60006150c284828501615089565b91505092915050565b7f302062616c616e63650000000000000000000000000000000000000000000000600082015250565b6000615101600983614630565b915061510c826150cb565b602082019050919050565b60006020820190508181036000830152615130816150f4565b9050919050565b600060608201905061514c6000830186614c3c565b6151596020830185614c3c565b6151666040830184614af5565b949350505050565b60008151905061517d81614878565b92915050565b60006020828403121561519957615198614784565b5b60006151a78482850161516e565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061520c602683614630565b9150615217826151b0565b604082019050919050565b6000602082019050818103600083015261523b816151ff565b9050919050565b7f24425348415242493a20617070726f76652066726f6d20746865207a65726f2060008201527f6164647265737300000000000000000000000000000000000000000000000000602082015250565b600061529e602783614630565b91506152a982615242565b604082019050919050565b600060208201905081810360008301526152cd81615291565b9050919050565b7f24425348415242493a20617070726f766520746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000615330602583614630565b915061533b826152d4565b604082019050919050565b6000602082019050818103600083015261535f81615323565b9050919050565b6000615371826147cc565b915061537c836147cc565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156153b5576153b4614dcf565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006153fa826147cc565b9150615405836147cc565b925082615415576154146153c0565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061547c602183614630565b915061548782615420565b604082019050919050565b600060208201905081810360008301526154ab8161546f565b9050919050565b60006154bd826147cc565b91506154c8836147cc565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156154fd576154fc614dcf565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061553e601b83614630565b915061554982615508565b602082019050919050565b6000602082019050818103600083015261556d81615531565b9050919050565b7f24425348415242493a207472616e736665722066726f6d20746865207a65726f60008201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b60006155d0602883614630565b91506155db82615574565b604082019050919050565b600060208201905081810360008301526155ff816155c3565b9050919050565b7f24425348415242493a207472616e7366657220746f20746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000615662602683614630565b915061566d82615606565b604082019050919050565b6000602082019050818103600083015261569181615655565b9050919050565b7f24425348415242493a20416d6f756e74206d757374206265206772656174657260008201527f207468616e207a65726f00000000000000000000000000000000000000000000602082015250565b60006156f4602a83614630565b91506156ff82615698565b604082019050919050565b60006020820190508181036000830152615723816156e7565b9050919050565b7f24425348415242493a20426f7420646574656374656400000000000000000000600082015250565b6000615760601683614630565b915061576b8261572a565b602082019050919050565b6000602082019050818103600083015261578f81615753565b9050919050565b7f24425348415242493a206d61782074786e206c696d6974206578636565647300600082015250565b60006157cc601f83614630565b91506157d782615796565b602082019050919050565b600060208201905081810360008301526157fb816157bf565b9050919050565b7f24425348415242493a2074726164696e672069732064697361626c6500000000600082015250565b6000615838601c83614630565b915061584382615802565b602082019050919050565b600060208201905081810360008301526158678161582b565b9050919050565b7f24425348415242493a206d617820686f6c64206c696d69742065786365656473600082015250565b60006158a4602083614630565b91506158af8261586e565b602082019050919050565b600060208201905081810360008301526158d381615897565b9050919050565b60006158e5826147cc565b91506158f0836147cc565b92508282101561590357615902614dcf565b5b828203905092915050565b60006060820190506159236000830186614af5565b6159306020830185614af5565b61593d6040830184614af5565b949350505050565b600081519050615954816147a0565b92915050565b6000602082840312156159705761596f614784565b5b600061597e84828501615945565b91505092915050565b6000819050919050565b60006159ac6159a76159a284615987565b614700565b6147cc565b9050919050565b6159bc81615991565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6159f78161478e565b82525050565b6000615a0983836159ee565b60208301905092915050565b6000602082019050919050565b6000615a2d826159c2565b615a3781856159cd565b9350615a42836159de565b8060005b83811015615a73578151615a5a88826159fd565b9750615a6583615a15565b925050600181019050615a46565b5085935050505092915050565b600060a082019050615a956000830188614af5565b615aa260208301876159b3565b8181036040830152615ab48186615a22565b9050615ac36060830185614c3c565b615ad06080830184614af5565b9695505050505050565b600060c082019050615aef6000830189614c3c565b615afc6020830188614af5565b615b0960408301876159b3565b615b1660608301866159b3565b615b236080830185614c3c565b615b3060a0830184614af5565b979650505050505050565b600080600060608486031215615b5457615b53614784565b5b6000615b6286828701615089565b9350506020615b7386828701615089565b9250506040615b8486828701615089565b915050925092509256fe24425348415242493a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636524425348415242493a2064656372656173656420616c6c6f77616e6365206f722062656c6f77207a65726fa2646970667358221220d653eda006c08e0940deedb3e0d1987c48610993031c86ee67543f04b9a5ace864736f6c634300080a0033