Mainnet
Testnet

Contract

0x958729669eD5cF93a250f23Eb412cDB91e238891
WRC20

Overview

Balance:
0 WBT
WBT Value:
0 USDT (@ 23.54/WBT)

More info

Contract creator:
Token tracker:
Token type:
wrc20
Are you the contract creator? Verify and Publish your contract source code.

Creation bytecode

0x6101606040523480156200001257600080fd5b506040518060400160405280600581526020017f504553494b000000000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f504553494b0000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f50534545450000000000000000000000000000000000000000000000000000008152508160039081620000fd919062001457565b5080600490816200010f919062001457565b50505062000132620001266200024f60201b60201c565b6200025760201b60201c565b6000600960146101000a81548160ff02191690831515021790555062000168600a836200031d60201b620017b81790919060201c565b61012081815250506200018b600b826200031d60201b620017b81790919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a08181525050620001ca6200037a60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff168152505050505062000249336200021d620003d760201b60201c565b600a6200022b9190620016ce565b640246ebc0b06200023d91906200171f565b620003e060201b60201c565b62001dc0565b600033905090565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600060208351101562000343576200033b83620003fb60201b60201c565b905062000374565b826200035a836200046860201b620017fc1760201c565b60000190816200036b919062001457565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e051610100514630604051602001620003bc959493929190620017db565b60405160208183030381529060405280519060200120905090565b60006012905090565b620003f782826200047260201b620018061760201c565b5050565b600080829050601f815111156200044b57826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401620004429190620018c7565b60405180910390fd5b80518162000459906200191d565b60001c1760001b915050919050565b6000819050919050565b6200048982826200053060201b620018931760201c565b620004996200069d60201b60201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16620004c7620006c160201b60201c565b11156200050b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005029062001a03565b60405180910390fd5b6200052a6010620006cb60201b620019e91783620006e360201b60201c565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620005a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005999062001a75565b60405180910390fd5b620005b66000838362000a0860201b60201c565b8060026000828254620005ca919062001a97565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200067d919062001ad2565b60405180910390a3620006996000838362000a3560201b60201c565b5050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000600254905090565b60008183620006db919062001a97565b905092915050565b6000806000858054905090506000808214620007b3576200070e876001840362000a5260201b60201c565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050620007ef565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1693506200082284868860201c565b92506000821180156200085557506200084062000a6760201b60201c565b65ffffffffffff16816000015163ffffffff16145b15620008dd57620008718362000a8460201b620019ff1760201c565b62000886886001850362000a5260201b60201c565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550620009fe565b86604051806040016040528062000916620008fd62000a6760201b60201c565b65ffffffffffff1662000af260201b62001a6a1760201c565b63ffffffff168152602001620009378662000a8460201b620019ff1760201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b62000a1862000b4860201b60201c565b62000a3083838362000b9d60201b62001abd1760201c565b505050565b62000a4d83838362000c9660201b62001b751760201c565b505050565b60008260005281602060002001905092915050565b600062000a7f4362000ce660201b62001ba01760201c565b905090565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff801682111562000aea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ae19062001b65565b60405180910390fd5b819050919050565b600063ffffffff801682111562000b40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b379062001bfd565b60405180910390fd5b819050919050565b62000b5862000d3e60201b60201c565b1562000b9b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b929062001c6f565b60405180910390fd5b565b62000bb583838362000d5560201b62001bf51760201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000c115762000bfb8262000d5a60201b60201c565b62000c0b62000dbd60201b60201c565b62000c91565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000c6d5762000c578362000d5a60201b60201c565b62000c6762000dbd60201b60201c565b62000c90565b62000c7e8362000d5a60201b60201c565b62000c8f8262000d5a60201b60201c565b5b5b505050565b62000cae83838362000de160201b62001bfa1760201c565b62000ce162000cc38462000de660201b60201c565b62000cd48462000de660201b60201c565b8362000e4f60201b60201c565b505050565b600065ffffffffffff801682111562000d36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000d2d9062001d07565b60405180910390fd5b819050919050565b6000600960149054906101000a900460ff16905090565b505050565b62000dba600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002062000dae836200107260201b60201c565b620010ba60201b60201c565b50565b62000ddf600662000dd3620006c160201b60201c565b620010ba60201b60201c565b565b505050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801562000e8c5750600081115b156200106d57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000f7f5760008062000f26600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206200114660201b62001bff1785620006e360201b60201c565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000f7492919062001d29565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146200106c5760008062001013600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020620006cb60201b620019e91785620006e360201b60201c565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516200106192919062001d29565b60405180910390a250505b5b505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000620010cc6200115e60201b60201c565b905080620010e3846000016200117c60201b60201c565b1015620011415782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b6000818362001156919062001d56565b905092915050565b6000620011776008620011cf60201b62001c151760201c565b905090565b600080828054905003620011945760009050620011ca565b8160018380549050620011a8919062001d56565b81548110620011bc57620011bb62001d91565b5b906000526020600020015490505b919050565b600081600001549050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200125f57607f821691505b60208210810362001275576200127462001217565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620012df7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620012a0565b620012eb8683620012a0565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062001338620013326200132c8462001303565b6200130d565b62001303565b9050919050565b6000819050919050565b620013548362001317565b6200136c62001363826200133f565b848454620012ad565b825550505050565b600090565b6200138362001374565b6200139081848462001349565b505050565b5b81811015620013b857620013ac60008262001379565b60018101905062001396565b5050565b601f8211156200140757620013d1816200127b565b620013dc8462001290565b81016020851015620013ec578190505b62001404620013fb8562001290565b83018262001395565b50505b505050565b600082821c905092915050565b60006200142c600019846008026200140c565b1980831691505092915050565b600062001447838362001419565b9150826002028217905092915050565b6200146282620011dd565b67ffffffffffffffff8111156200147e576200147d620011e8565b5b6200148a825462001246565b62001497828285620013bc565b600060209050601f831160018114620014cf5760008415620014ba578287015190505b620014c6858262001439565b86555062001536565b601f198416620014df866200127b565b60005b828110156200150957848901518255600182019150602085019450602081019050620014e2565b8683101562001529578489015162001525601f89168262001419565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620015cc57808604811115620015a457620015a36200153e565b5b6001851615620015b45780820291505b8081029050620015c4856200156d565b945062001584565b94509492505050565b600082620015e75760019050620016ba565b81620015f75760009050620016ba565b81600181146200161057600281146200161b5762001651565b6001915050620016ba565b60ff84111562001630576200162f6200153e565b5b8360020a9150848211156200164a57620016496200153e565b5b50620016ba565b5060208310610133831016604e8410600b84101617156200168b5782820a9050838111156200168557620016846200153e565b5b620016ba565b6200169a84848460016200157a565b92509050818404811115620016b457620016b36200153e565b5b81810290505b9392505050565b600060ff82169050919050565b6000620016db8262001303565b9150620016e883620016c1565b9250620017177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620015d5565b905092915050565b60006200172c8262001303565b9150620017398362001303565b9250828202620017498162001303565b915082820484148315176200176357620017626200153e565b5b5092915050565b6000819050919050565b6200177f816200176a565b82525050565b620017908162001303565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620017c38262001796565b9050919050565b620017d581620017b6565b82525050565b600060a082019050620017f2600083018862001774565b62001801602083018762001774565b62001810604083018662001774565b6200181f606083018562001785565b6200182e6080830184620017ca565b9695505050505050565b600082825260208201905092915050565b60005b83811015620018695780820151818401526020810190506200184c565b60008484015250505050565b6000601f19601f8301169050919050565b60006200189382620011dd565b6200189f818562001838565b9350620018b181856020860162001849565b620018bc8162001875565b840191505092915050565b60006020820190508181036000830152620018e3818462001886565b905092915050565b600081519050919050565b6000819050602082019050919050565b60006200191482516200176a565b80915050919050565b60006200192a82620018eb565b826200193684620018f6565b9050620019438162001906565b925060208210156200198657620019817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802620012a0565b831692505b5050919050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000620019eb60308362001838565b9150620019f8826200198d565b604082019050919050565b6000602082019050818103600083015262001a1e81620019dc565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062001a5d601f8362001838565b915062001a6a8262001a25565b602082019050919050565b6000602082019050818103600083015262001a908162001a4e565b9050919050565b600062001aa48262001303565b915062001ab18362001303565b925082820190508082111562001acc5762001acb6200153e565b5b92915050565b600060208201905062001ae9600083018462001785565b92915050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b600062001b4d60278362001838565b915062001b5a8262001aef565b604082019050919050565b6000602082019050818103600083015262001b808162001b3e565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b600062001be560268362001838565b915062001bf28262001b87565b604082019050919050565b6000602082019050818103600083015262001c188162001bd6565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b600062001c5760108362001838565b915062001c648262001c1f565b602082019050919050565b6000602082019050818103600083015262001c8a8162001c48565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b600062001cef60268362001838565b915062001cfc8262001c91565b604082019050919050565b6000602082019050818103600083015262001d228162001ce0565b9050919050565b600060408201905062001d40600083018562001785565b62001d4f602083018462001785565b9392505050565b600062001d638262001303565b915062001d708362001303565b925082820390508181111562001d8b5762001d8a6200153e565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60805160a05160c05160e0516101005161012051610140516159e362001e1b6000396000610f0401526000610ed001526000612f1501526000612ef4015260006120fa015260006121500152600061217901526159e36000f3fe608060405234801561001057600080fd5b50600436106102325760003560e01c8063715018a611610130578063981b24d0116100b8578063d505accf1161007c578063d505accf146106e5578063d9d98ce414610701578063dd62ed3e14610731578063f1127ed814610761578063f2fde38b1461079157610232565b8063981b24d0146106095780639ab24eb014610639578063a457c2d714610669578063a9059cbb14610699578063c3cda520146106c957610232565b80638da5cb5b116100ff5780638da5cb5b146105755780638e539e8c1461059357806391ddadf4146105c357806395d89b41146105e15780639711715a146105ff57610232565b8063715018a61461050d5780637ecebe00146105175780638456cb591461054757806384b0196e1461055157610232565b806340c10f19116101be5780635c975abb116101825780635c975abb1461042f5780635cffe9de1461044d578063613255ab1461047d5780636fcfff45146104ad57806370a08231146104dd57610232565b806340c10f19146103795780634bf5d7e9146103955780634ee2cd7e146103b3578063587cde1e146103e35780635c19a95c1461041357610232565b8063313ce56711610205578063313ce567146102d35780633644e515146102f1578063395093511461030f5780633a46b1a81461033f5780633f4ba83a1461036f57610232565b806306fdde0314610237578063095ea7b31461025557806318160ddd1461028557806323b872dd146102a3575b600080fd5b61023f6107ad565b60405161024c91906139ff565b60405180910390f35b61026f600480360381019061026a9190613abf565b61083f565b60405161027c9190613b1a565b60405180910390f35b61028d610862565b60405161029a9190613b44565b60405180910390f35b6102bd60048036038101906102b89190613b5f565b61086c565b6040516102ca9190613b1a565b60405180910390f35b6102db61089b565b6040516102e89190613bce565b60405180910390f35b6102f96108a4565b6040516103069190613c02565b60405180910390f35b61032960048036038101906103249190613abf565b6108b3565b6040516103369190613b1a565b60405180910390f35b61035960048036038101906103549190613abf565b6108ea565b6040516103669190613b44565b60405180910390f35b61037761098d565b005b610393600480360381019061038e9190613abf565b61099f565b005b61039d6109b5565b6040516103aa91906139ff565b60405180910390f35b6103cd60048036038101906103c89190613abf565b610a43565b6040516103da9190613b44565b60405180910390f35b6103fd60048036038101906103f89190613c1d565b610ab3565b60405161040a9190613c59565b60405180910390f35b61042d60048036038101906104289190613c1d565b610b1c565b005b610437610b30565b6040516104449190613b1a565b60405180910390f35b61046760048036038101906104629190613d17565b610b47565b6040516104749190613b1a565b60405180910390f35b61049760048036038101906104929190613c1d565b610d34565b6040516104a49190613b44565b60405180910390f35b6104c760048036038101906104c29190613c1d565b610dab565b6040516104d49190613dbe565b60405180910390f35b6104f760048036038101906104f29190613c1d565b610dff565b6040516105049190613b44565b60405180910390f35b610515610e47565b005b610531600480360381019061052c9190613c1d565b610e5b565b60405161053e9190613b44565b60405180910390f35b61054f610eab565b005b610559610ebd565b60405161056c9796959493929190613ed2565b60405180910390f35b61057d610fbf565b60405161058a9190613c59565b60405180910390f35b6105ad60048036038101906105a89190613f56565b610fe9565b6040516105ba9190613b44565b60405180910390f35b6105cb61104e565b6040516105d89190613fa4565b60405180910390f35b6105e961105e565b6040516105f691906139ff565b60405180910390f35b6106076110f0565b005b610623600480360381019061061e9190613f56565b611103565b6040516106309190613b44565b60405180910390f35b610653600480360381019061064e9190613c1d565b611134565b6040516106609190613b44565b60405180910390f35b610683600480360381019061067e9190613abf565b61123c565b6040516106909190613b1a565b60405180910390f35b6106b360048036038101906106ae9190613abf565b6112b3565b6040516106c09190613b1a565b60405180910390f35b6106e360048036038101906106de9190614017565b6112d6565b005b6106ff60048036038101906106fa91906140a4565b6113da565b005b61071b60048036038101906107169190613abf565b61151c565b6040516107289190613b44565b60405180910390f35b61074b60048036038101906107469190614146565b61159e565b6040516107589190613b44565b60405180910390f35b61077b600480360381019061077691906141b2565b611625565b6040516107889190614267565b60405180910390f35b6107ab60048036038101906107a69190613c1d565b611735565b005b6060600380546107bc906142b1565b80601f01602080910402602001604051908101604052809291908181526020018280546107e8906142b1565b80156108355780601f1061080a57610100808354040283529160200191610835565b820191906000526020600020905b81548152906001019060200180831161081857829003601f168201915b5050505050905090565b60008061084a611c23565b9050610857818585611c2b565b600191505092915050565b6000600254905090565b600080610877611c23565b9050610884858285611df4565b61088f858585611e80565b60019150509392505050565b60006012905090565b60006108ae6120f6565b905090565b6000806108be611c23565b90506108df8185856108d0858961159e565b6108da9190614311565b611c2b565b600191505092915050565b60006108f461104e565b65ffffffffffff16821061093d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093490614391565b60405180910390fd5b610985600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020836121ad565b905092915050565b6109956122f5565b61099d612373565b565b6109a76122f5565b6109b182826123d6565b5050565b6060436109c061104e565b65ffffffffffff1614610a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ff906143fd565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000806000610a9084600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206123e4565b9150915081610aa757610aa285610dff565b610aa9565b805b9250505092915050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610b2d610b27611c23565b826124d9565b50565b6000600960149054906101000a900460ff16905090565b6000610b5285610d34565b841115610b94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8b9061448f565b60405180910390fd5b6000610ba0868661151c565b9050610bac87866123d6565b7f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98773ffffffffffffffffffffffffffffffffffffffff166323e30c8b338989868a8a6040518763ffffffff1660e01b8152600401610c10969594939291906144fc565b6020604051808303816000875af1158015610c2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c53919061456d565b14610c93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8a9061460c565b60405180910390fd5b6000610c9d6125f3565b9050610cb588308489610cb09190614311565b611df4565b6000821480610cf05750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b15610d0f57610d0a888388610d059190614311565b6125f8565b610d25565b610d1988876125f8565b610d24888284611e80565b5b60019250505095945050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610d70576000610da4565b610d78610862565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610da3919061462c565b5b9050919050565b6000610df8600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611a6a565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e4f6122f5565b610e596000612606565b565b6000610ea4600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611c15565b9050919050565b610eb36122f5565b610ebb6126cc565b565b600060608060008060006060610efd600a7f000000000000000000000000000000000000000000000000000000000000000061272f90919063ffffffff16565b610f31600b7f000000000000000000000000000000000000000000000000000000000000000061272f90919063ffffffff16565b46306000801b600067ffffffffffffffff811115610f5257610f51614660565b5b604051908082528060200260200182016040528015610f805781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610ff361104e565b65ffffffffffff16821061103c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103390614391565b60405180910390fd5b6110476010836121ad565b9050919050565b600061105943611ba0565b905090565b60606004805461106d906142b1565b80601f0160208091040260200160405190810160405280929190818152602001828054611099906142b1565b80156110e65780601f106110bb576101008083540402835291602001916110e6565b820191906000526020600020905b8154815290600101906020018083116110c957829003601f168201915b5050505050905090565b6110f86122f5565b6111006127df565b50565b60008060006111138460066123e4565b915091508161112957611124610862565b61112b565b805b92505050919050565b600080600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905090506000811461121357600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060018203815481106111d8576111d761468f565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611216565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b600080611247611c23565b90506000611255828661159e565b90508381101561129a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129190614730565b60405180910390fd5b6112a78286868403611c2b565b60019250505092915050565b6000806112be611c23565b90506112cb818585611e80565b600191505092915050565b83421115611319576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113109061479c565b60405180910390fd5b600061137b6113737fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf89898960405160200161135894939291906147bc565b60405160208183030381529060405280519060200120612835565b85858561284f565b90506113868161287a565b86146113c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113be9061484d565b60405180910390fd5b6113d181886124d9565b50505050505050565b8342111561141d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611414906148b9565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861144c8c61287a565b89604051602001611462969594939291906148d9565b604051602081830303815290604052805190602001209050600061148582612835565b905060006114958287878761284f565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611505576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fc90614986565b60405180910390fd5b6115108a8a8a611c2b565b50505050505050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461158c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611583906149f2565b60405180910390fd5b61159683836128d8565b905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61162d613931565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff16815481106116845761168361468f565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b61173d6122f5565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a390614a84565b60405180910390fd5b6117b581612606565b50565b60006020835110156117d4576117cd836128e0565b90506117f6565b826117de836117fc565b60000190816117ed9190614c50565b5060ff60001b90505b92915050565b6000819050919050565b6118108282611893565b611818612948565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661183e610862565b111561187f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187690614d94565b60405180910390fd5b61188d60106119e98361296c565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611902576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f990614e00565b60405180910390fd5b61190e60008383612c47565b80600260008282546119209190614311565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119d19190613b44565b60405180910390a36119e560008383612c5f565b5050565b600081836119f79190614311565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016821115611a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5990614e92565b60405180910390fd5b819050919050565b600063ffffffff8016821115611ab5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aac90614f24565b60405180910390fd5b819050919050565b611ac8838383611bf5565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b1257611b0582612c6f565b611b0d612cc2565b611b70565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b5c57611b4f83612c6f565b611b57612cc2565b611b6f565b611b6583612c6f565b611b6e82612c6f565b5b5b505050565b611b80838383611bfa565b611b9b611b8c84610ab3565b611b9584610ab3565b83612cd6565b505050565b600065ffffffffffff8016821115611bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be490614fb6565b60405180910390fd5b819050919050565b505050565b505050565b60008183611c0d919061462c565b905092915050565b600081600001549050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9190615048565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d00906150da565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611de79190613b44565b60405180910390a3505050565b6000611e00848461159e565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611e7a5781811015611e6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6390615146565b60405180910390fd5b611e798484848403611c2b565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611eef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee6906151d8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f559061526a565b60405180910390fd5b611f69838383612c47565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611fef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe6906152fc565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120dd9190613b44565b60405180910390a36120f0848484612c5f565b50505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561217257507f000000000000000000000000000000000000000000000000000000000000000046145b1561219f577f000000000000000000000000000000000000000000000000000000000000000090506121aa565b6121a7612ecf565b90505b90565b6000808380549050905060008082905060058311156122235760006121d184612f65565b846121dc919061462c565b9050856121e9888361305e565b60000160009054906101000a900463ffffffff1663ffffffff16111561221157809150612221565b60018161221e9190614311565b92505b505b5b808210156122835760006122388383613073565b905085612245888361305e565b60000160009054906101000a900463ffffffff1663ffffffff16111561226d5780915061227d565b60018161227a9190614311565b92505b50612224565b600081146122c957612298866001830361305e565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166122cc565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b6122fd611c23565b73ffffffffffffffffffffffffffffffffffffffff1661231b610fbf565b73ffffffffffffffffffffffffffffffffffffffff1614612371576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236890615368565b60405180910390fd5b565b61237b613099565b6000600960146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6123bf611c23565b6040516123cc9190613c59565b60405180910390a1565b6123e08282611806565b5050565b6000806000841161242a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612421906153d4565b60405180910390fd5b6124326130e2565b841115612474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246b90615440565b60405180910390fd5b600061248c85856000016130f390919063ffffffff16565b9050836000018054905081036124a95760008092509250506124d2565b60018460010182815481106124c1576124c061468f565b5b906000526020600020015492509250505b9250929050565b60006124e483610ab3565b905060006124f184610dff565b905082600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46125ed828483612cd6565b50505050565b600090565b61260282826131ac565b5050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6126d46131ca565b6001600960146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612718611c23565b6040516127259190613c59565b60405180910390a1565b606060ff60001b831461274c5761274583613214565b90506127d9565b818054612758906142b1565b80601f0160208091040260200160405190810160405280929190818152602001828054612784906142b1565b80156127d15780601f106127a6576101008083540402835291602001916127d1565b820191906000526020600020905b8154815290600101906020018083116127b457829003601f168201915b505050505090505b92915050565b60006127eb6008613288565b60006127f56130e2565b90507f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb67816040516128269190613b44565b60405180910390a18091505090565b60006128486128426120f6565b8361329e565b9050919050565b6000806000612860878787876132df565b9150915061286d816133c1565b8192505050949350505050565b600080600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506128c781611c15565b91506128d281613288565b50919050565b600092915050565b600080829050601f8151111561292d57826040517f305a27a900000000000000000000000000000000000000000000000000000000815260040161292491906139ff565b60405180910390fd5b80518161293990615490565b60001c1760001b915050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000806000858054905090506000808214612a325761298e876001840361305e565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050612a6e565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169350612aa384868863ffffffff16565b9250600082118015612acd5750612ab861104e565b65ffffffffffff16816000015163ffffffff16145b15612b3e57612adb836119ff565b612ae8886001850361305e565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550612c3d565b866040518060400160405280612b62612b5561104e565b65ffffffffffff16611a6a565b63ffffffff168152602001612b76866119ff565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b612c4f6131ca565b612c5a838383611abd565b505050565b612c6a838383611b75565b505050565b612cbf600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612cba83610dff565b613527565b50565b612cd46006612ccf610862565b613527565b565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612d125750600081115b15612eca57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612df057600080612d99600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611bff8561296c565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612de59291906154f7565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612ec957600080612e72600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206119e98561296c565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612ebe9291906154f7565b60405180910390a250505b5b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001612f4a959493929190615520565b60405160208183030381529060405280519060200120905090565b6000808203612f775760009050613059565b60006001612f84846135a2565b901c6001901b90506001818481612f9e57612f9d615573565b5b048201901c90506001818481612fb757612fb6615573565b5b048201901c90506001818481612fd057612fcf615573565b5b048201901c90506001818481612fe957612fe8615573565b5b048201901c9050600181848161300257613001615573565b5b048201901c9050600181848161301b5761301a615573565b5b048201901c9050600181848161303457613033615573565b5b048201901c90506130558182858161304f5761304e615573565b5b04613683565b9150505b919050565b60008260005281602060002001905092915050565b6000600282841861308491906155a2565b8284166130919190614311565b905092915050565b6130a1610b30565b6130e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130d79061561f565b60405180910390fd5b565b60006130ee6008611c15565b905090565b60008083805490500361310957600090506131a6565b600080848054905090505b8082101561315d5760006131288383613073565b905084613135878361369c565b60000154111561314757809150613157565b6001816131549190614311565b92505b50613114565b60008211801561318557508361317f8660018561317a919061462c565b61369c565b60000154145b156131a057600182613197919061462c565b925050506131a6565b81925050505b92915050565b6131b682826136be565b6131c46010611bff8361296c565b50505050565b6131d2610b30565b15613212576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132099061568b565b60405180910390fd5b565b606060006132218361388b565b90506000602067ffffffffffffffff8111156132405761323f614660565b5b6040519080825280601f01601f1916602001820160405280156132725781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b6001816000016000828254019250508190555050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c111561331a5760006003915091506133b8565b60006001878787876040516000815260200160405260405161333f94939291906156ab565b6020604051602081039080840390855afa158015613361573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036133af576000600192509250506133b8565b80600092509250505b94509492505050565b600060048111156133d5576133d46156f0565b5b8160048111156133e8576133e76156f0565b5b03156135245760016004811115613402576134016156f0565b5b816004811115613415576134146156f0565b5b03613455576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161344c9061576b565b60405180910390fd5b60026004811115613469576134686156f0565b5b81600481111561347c5761347b6156f0565b5b036134bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134b3906157d7565b60405180910390fd5b600360048111156134d0576134cf6156f0565b5b8160048111156134e3576134e26156f0565b5b03613523576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161351a90615869565b60405180910390fd5b5b50565b60006135316130e2565b905080613540846000016138db565b101561359d5782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b600080600090506000608084901c11156135c457608083901c92506080810190505b6000604084901c11156135df57604083901c92506040810190505b6000602084901c11156135fa57602083901c92506020810190505b6000601084901c111561361557601083901c92506010810190505b6000600884901c111561363057600883901c92506008810190505b6000600484901c111561364b57600483901c92506004810190505b6000600284901c111561366657600283901c92506002810190505b6000600184901c111561367a576001810190505b80915050919050565b60008183106136925781613694565b825b905092915050565b600080836000528260206000200190506136b581613927565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361372d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613724906158fb565b60405180910390fd5b61373982600083612c47565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156137bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137b69061598d565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516138729190613b44565b60405180910390a361388683600084612c5f565b505050565b60008060ff8360001c169050601f8111156138d2576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6000808280549050036138f15760009050613922565b8160018380549050613903919061462c565b815481106139145761391361468f565b5b906000526020600020015490505b919050565b6000819050919050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b838110156139a957808201518184015260208101905061398e565b60008484015250505050565b6000601f19601f8301169050919050565b60006139d18261396f565b6139db818561397a565b93506139eb81856020860161398b565b6139f4816139b5565b840191505092915050565b60006020820190508181036000830152613a1981846139c6565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613a5682613a2b565b9050919050565b613a6681613a4b565b8114613a7157600080fd5b50565b600081359050613a8381613a5d565b92915050565b6000819050919050565b613a9c81613a89565b8114613aa757600080fd5b50565b600081359050613ab981613a93565b92915050565b60008060408385031215613ad657613ad5613a21565b5b6000613ae485828601613a74565b9250506020613af585828601613aaa565b9150509250929050565b60008115159050919050565b613b1481613aff565b82525050565b6000602082019050613b2f6000830184613b0b565b92915050565b613b3e81613a89565b82525050565b6000602082019050613b596000830184613b35565b92915050565b600080600060608486031215613b7857613b77613a21565b5b6000613b8686828701613a74565b9350506020613b9786828701613a74565b9250506040613ba886828701613aaa565b9150509250925092565b600060ff82169050919050565b613bc881613bb2565b82525050565b6000602082019050613be36000830184613bbf565b92915050565b6000819050919050565b613bfc81613be9565b82525050565b6000602082019050613c176000830184613bf3565b92915050565b600060208284031215613c3357613c32613a21565b5b6000613c4184828501613a74565b91505092915050565b613c5381613a4b565b82525050565b6000602082019050613c6e6000830184613c4a565b92915050565b6000613c7f82613a4b565b9050919050565b613c8f81613c74565b8114613c9a57600080fd5b50565b600081359050613cac81613c86565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112613cd757613cd6613cb2565b5b8235905067ffffffffffffffff811115613cf457613cf3613cb7565b5b602083019150836001820283011115613d1057613d0f613cbc565b5b9250929050565b600080600080600060808688031215613d3357613d32613a21565b5b6000613d4188828901613c9d565b9550506020613d5288828901613a74565b9450506040613d6388828901613aaa565b935050606086013567ffffffffffffffff811115613d8457613d83613a26565b5b613d9088828901613cc1565b92509250509295509295909350565b600063ffffffff82169050919050565b613db881613d9f565b82525050565b6000602082019050613dd36000830184613daf565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b613e0e81613dd9565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613e4981613a89565b82525050565b6000613e5b8383613e40565b60208301905092915050565b6000602082019050919050565b6000613e7f82613e14565b613e898185613e1f565b9350613e9483613e30565b8060005b83811015613ec5578151613eac8882613e4f565b9750613eb783613e67565b925050600181019050613e98565b5085935050505092915050565b600060e082019050613ee7600083018a613e05565b8181036020830152613ef981896139c6565b90508181036040830152613f0d81886139c6565b9050613f1c6060830187613b35565b613f296080830186613c4a565b613f3660a0830185613bf3565b81810360c0830152613f488184613e74565b905098975050505050505050565b600060208284031215613f6c57613f6b613a21565b5b6000613f7a84828501613aaa565b91505092915050565b600065ffffffffffff82169050919050565b613f9e81613f83565b82525050565b6000602082019050613fb96000830184613f95565b92915050565b613fc881613bb2565b8114613fd357600080fd5b50565b600081359050613fe581613fbf565b92915050565b613ff481613be9565b8114613fff57600080fd5b50565b60008135905061401181613feb565b92915050565b60008060008060008060c0878903121561403457614033613a21565b5b600061404289828a01613a74565b965050602061405389828a01613aaa565b955050604061406489828a01613aaa565b945050606061407589828a01613fd6565b935050608061408689828a01614002565b92505060a061409789828a01614002565b9150509295509295509295565b600080600080600080600060e0888a0312156140c3576140c2613a21565b5b60006140d18a828b01613a74565b97505060206140e28a828b01613a74565b96505060406140f38a828b01613aaa565b95505060606141048a828b01613aaa565b94505060806141158a828b01613fd6565b93505060a06141268a828b01614002565b92505060c06141378a828b01614002565b91505092959891949750929550565b6000806040838503121561415d5761415c613a21565b5b600061416b85828601613a74565b925050602061417c85828601613a74565b9150509250929050565b61418f81613d9f565b811461419a57600080fd5b50565b6000813590506141ac81614186565b92915050565b600080604083850312156141c9576141c8613a21565b5b60006141d785828601613a74565b92505060206141e88582860161419d565b9150509250929050565b6141fb81613d9f565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b61423281614201565b82525050565b60408201600082015161424e60008501826141f2565b5060208201516142616020850182614229565b50505050565b600060408201905061427c6000830184614238565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806142c957607f821691505b6020821081036142dc576142db614282565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061431c82613a89565b915061432783613a89565b925082820190508082111561433f5761433e6142e2565b5b92915050565b7f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000600082015250565b600061437b60198361397a565b915061438682614345565b602082019050919050565b600060208201905081810360008301526143aa8161436e565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000600082015250565b60006143e7601d8361397a565b91506143f2826143b1565b602082019050919050565b60006020820190508181036000830152614416816143da565b9050919050565b7f4552433230466c6173684d696e743a20616d6f756e742065786365656473206d60008201527f6178466c6173684c6f616e000000000000000000000000000000000000000000602082015250565b6000614479602b8361397a565b91506144848261441d565b604082019050919050565b600060208201905081810360008301526144a88161446c565b9050919050565b600082825260208201905092915050565b82818337600083830152505050565b60006144db83856144af565b93506144e88385846144c0565b6144f1836139b5565b840190509392505050565b600060a0820190506145116000830189613c4a565b61451e6020830188613c4a565b61452b6040830187613b35565b6145386060830186613b35565b818103608083015261454b8184866144cf565b9050979650505050505050565b60008151905061456781613feb565b92915050565b60006020828403121561458357614582613a21565b5b600061459184828501614558565b91505092915050565b7f4552433230466c6173684d696e743a20696e76616c69642072657475726e207660008201527f616c756500000000000000000000000000000000000000000000000000000000602082015250565b60006145f660248361397a565b91506146018261459a565b604082019050919050565b60006020820190508181036000830152614625816145e9565b9050919050565b600061463782613a89565b915061464283613a89565b925082820390508181111561465a576146596142e2565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061471a60258361397a565b9150614725826146be565b604082019050919050565b600060208201905081810360008301526147498161470d565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b6000614786601d8361397a565b915061479182614750565b602082019050919050565b600060208201905081810360008301526147b581614779565b9050919050565b60006080820190506147d16000830187613bf3565b6147de6020830186613c4a565b6147eb6040830185613b35565b6147f86060830184613b35565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b600061483760198361397a565b915061484282614801565b602082019050919050565b600060208201905081810360008301526148668161482a565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b60006148a3601d8361397a565b91506148ae8261486d565b602082019050919050565b600060208201905081810360008301526148d281614896565b9050919050565b600060c0820190506148ee6000830189613bf3565b6148fb6020830188613c4a565b6149086040830187613c4a565b6149156060830186613b35565b6149226080830185613b35565b61492f60a0830184613b35565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b6000614970601e8361397a565b915061497b8261493a565b602082019050919050565b6000602082019050818103600083015261499f81614963565b9050919050565b7f4552433230466c6173684d696e743a2077726f6e6720746f6b656e0000000000600082015250565b60006149dc601b8361397a565b91506149e7826149a6565b602082019050919050565b60006020820190508181036000830152614a0b816149cf565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614a6e60268361397a565b9150614a7982614a12565b604082019050919050565b60006020820190508181036000830152614a9d81614a61565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302614b067fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614ac9565b614b108683614ac9565b95508019841693508086168417925050509392505050565b6000819050919050565b6000614b4d614b48614b4384613a89565b614b28565b613a89565b9050919050565b6000819050919050565b614b6783614b32565b614b7b614b7382614b54565b848454614ad6565b825550505050565b600090565b614b90614b83565b614b9b818484614b5e565b505050565b5b81811015614bbf57614bb4600082614b88565b600181019050614ba1565b5050565b601f821115614c0457614bd581614aa4565b614bde84614ab9565b81016020851015614bed578190505b614c01614bf985614ab9565b830182614ba0565b50505b505050565b600082821c905092915050565b6000614c2760001984600802614c09565b1980831691505092915050565b6000614c408383614c16565b9150826002028217905092915050565b614c598261396f565b67ffffffffffffffff811115614c7257614c71614660565b5b614c7c82546142b1565b614c87828285614bc3565b600060209050601f831160018114614cba5760008415614ca8578287015190505b614cb28582614c34565b865550614d1a565b601f198416614cc886614aa4565b60005b82811015614cf057848901518255600182019150602085019450602081019050614ccb565b86831015614d0d5784890151614d09601f891682614c16565b8355505b6001600288020188555050505b505050505050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000614d7e60308361397a565b9150614d8982614d22565b604082019050919050565b60006020820190508181036000830152614dad81614d71565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000614dea601f8361397a565b9150614df582614db4565b602082019050919050565b60006020820190508181036000830152614e1981614ddd565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000614e7c60278361397a565b9150614e8782614e20565b604082019050919050565b60006020820190508181036000830152614eab81614e6f565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000614f0e60268361397a565b9150614f1982614eb2565b604082019050919050565b60006020820190508181036000830152614f3d81614f01565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b6000614fa060268361397a565b9150614fab82614f44565b604082019050919050565b60006020820190508181036000830152614fcf81614f93565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061503260248361397a565b915061503d82614fd6565b604082019050919050565b6000602082019050818103600083015261506181615025565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006150c460228361397a565b91506150cf82615068565b604082019050919050565b600060208201905081810360008301526150f3816150b7565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000615130601d8361397a565b915061513b826150fa565b602082019050919050565b6000602082019050818103600083015261515f81615123565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006151c260258361397a565b91506151cd82615166565b604082019050919050565b600060208201905081810360008301526151f1816151b5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061525460238361397a565b915061525f826151f8565b604082019050919050565b6000602082019050818103600083015261528381615247565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006152e660268361397a565b91506152f18261528a565b604082019050919050565b60006020820190508181036000830152615315816152d9565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061535260208361397a565b915061535d8261531c565b602082019050919050565b6000602082019050818103600083015261538181615345565b9050919050565b7f4552433230536e617073686f743a206964206973203000000000000000000000600082015250565b60006153be60168361397a565b91506153c982615388565b602082019050919050565b600060208201905081810360008301526153ed816153b1565b9050919050565b7f4552433230536e617073686f743a206e6f6e6578697374656e74206964000000600082015250565b600061542a601d8361397a565b9150615435826153f4565b602082019050919050565b600060208201905081810360008301526154598161541d565b9050919050565b600081519050919050565b6000819050602082019050919050565b60006154878251613be9565b80915050919050565b600061549b82615460565b826154a58461546b565b90506154b08161547b565b925060208210156154f0576154eb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802614ac9565b831692505b5050919050565b600060408201905061550c6000830185613b35565b6155196020830184613b35565b9392505050565b600060a0820190506155356000830188613bf3565b6155426020830187613bf3565b61554f6040830186613bf3565b61555c6060830185613b35565b6155696080830184613c4a565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006155ad82613a89565b91506155b883613a89565b9250826155c8576155c7615573565b5b828204905092915050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b600061560960148361397a565b9150615614826155d3565b602082019050919050565b60006020820190508181036000830152615638816155fc565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b600061567560108361397a565b91506156808261563f565b602082019050919050565b600060208201905081810360008301526156a481615668565b9050919050565b60006080820190506156c06000830187613bf3565b6156cd6020830186613bbf565b6156da6040830185613bf3565b6156e76060830184613bf3565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b600061575560188361397a565b91506157608261571f565b602082019050919050565b6000602082019050818103600083015261578481615748565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b60006157c1601f8361397a565b91506157cc8261578b565b602082019050919050565b600060208201905081810360008301526157f0816157b4565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b600061585360228361397a565b915061585e826157f7565b604082019050919050565b6000602082019050818103600083015261588281615846565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006158e560218361397a565b91506158f082615889565b604082019050919050565b60006020820190508181036000830152615914816158d8565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600061597760228361397a565b91506159828261591b565b604082019050919050565b600060208201905081810360008301526159a68161596a565b905091905056fea26469706673582212204091d487da33a2111b0c929e5f22b954fb40c69fabd82ea26a8ed557c10516eb64736f6c63430008120033

Deployed bytecode

0x608060405234801561001057600080fd5b50600436106102325760003560e01c8063715018a611610130578063981b24d0116100b8578063d505accf1161007c578063d505accf146106e5578063d9d98ce414610701578063dd62ed3e14610731578063f1127ed814610761578063f2fde38b1461079157610232565b8063981b24d0146106095780639ab24eb014610639578063a457c2d714610669578063a9059cbb14610699578063c3cda520146106c957610232565b80638da5cb5b116100ff5780638da5cb5b146105755780638e539e8c1461059357806391ddadf4146105c357806395d89b41146105e15780639711715a146105ff57610232565b8063715018a61461050d5780637ecebe00146105175780638456cb591461054757806384b0196e1461055157610232565b806340c10f19116101be5780635c975abb116101825780635c975abb1461042f5780635cffe9de1461044d578063613255ab1461047d5780636fcfff45146104ad57806370a08231146104dd57610232565b806340c10f19146103795780634bf5d7e9146103955780634ee2cd7e146103b3578063587cde1e146103e35780635c19a95c1461041357610232565b8063313ce56711610205578063313ce567146102d35780633644e515146102f1578063395093511461030f5780633a46b1a81461033f5780633f4ba83a1461036f57610232565b806306fdde0314610237578063095ea7b31461025557806318160ddd1461028557806323b872dd146102a3575b600080fd5b61023f6107ad565b60405161024c91906139ff565b60405180910390f35b61026f600480360381019061026a9190613abf565b61083f565b60405161027c9190613b1a565b60405180910390f35b61028d610862565b60405161029a9190613b44565b60405180910390f35b6102bd60048036038101906102b89190613b5f565b61086c565b6040516102ca9190613b1a565b60405180910390f35b6102db61089b565b6040516102e89190613bce565b60405180910390f35b6102f96108a4565b6040516103069190613c02565b60405180910390f35b61032960048036038101906103249190613abf565b6108b3565b6040516103369190613b1a565b60405180910390f35b61035960048036038101906103549190613abf565b6108ea565b6040516103669190613b44565b60405180910390f35b61037761098d565b005b610393600480360381019061038e9190613abf565b61099f565b005b61039d6109b5565b6040516103aa91906139ff565b60405180910390f35b6103cd60048036038101906103c89190613abf565b610a43565b6040516103da9190613b44565b60405180910390f35b6103fd60048036038101906103f89190613c1d565b610ab3565b60405161040a9190613c59565b60405180910390f35b61042d60048036038101906104289190613c1d565b610b1c565b005b610437610b30565b6040516104449190613b1a565b60405180910390f35b61046760048036038101906104629190613d17565b610b47565b6040516104749190613b1a565b60405180910390f35b61049760048036038101906104929190613c1d565b610d34565b6040516104a49190613b44565b60405180910390f35b6104c760048036038101906104c29190613c1d565b610dab565b6040516104d49190613dbe565b60405180910390f35b6104f760048036038101906104f29190613c1d565b610dff565b6040516105049190613b44565b60405180910390f35b610515610e47565b005b610531600480360381019061052c9190613c1d565b610e5b565b60405161053e9190613b44565b60405180910390f35b61054f610eab565b005b610559610ebd565b60405161056c9796959493929190613ed2565b60405180910390f35b61057d610fbf565b60405161058a9190613c59565b60405180910390f35b6105ad60048036038101906105a89190613f56565b610fe9565b6040516105ba9190613b44565b60405180910390f35b6105cb61104e565b6040516105d89190613fa4565b60405180910390f35b6105e961105e565b6040516105f691906139ff565b60405180910390f35b6106076110f0565b005b610623600480360381019061061e9190613f56565b611103565b6040516106309190613b44565b60405180910390f35b610653600480360381019061064e9190613c1d565b611134565b6040516106609190613b44565b60405180910390f35b610683600480360381019061067e9190613abf565b61123c565b6040516106909190613b1a565b60405180910390f35b6106b360048036038101906106ae9190613abf565b6112b3565b6040516106c09190613b1a565b60405180910390f35b6106e360048036038101906106de9190614017565b6112d6565b005b6106ff60048036038101906106fa91906140a4565b6113da565b005b61071b60048036038101906107169190613abf565b61151c565b6040516107289190613b44565b60405180910390f35b61074b60048036038101906107469190614146565b61159e565b6040516107589190613b44565b60405180910390f35b61077b600480360381019061077691906141b2565b611625565b6040516107889190614267565b60405180910390f35b6107ab60048036038101906107a69190613c1d565b611735565b005b6060600380546107bc906142b1565b80601f01602080910402602001604051908101604052809291908181526020018280546107e8906142b1565b80156108355780601f1061080a57610100808354040283529160200191610835565b820191906000526020600020905b81548152906001019060200180831161081857829003601f168201915b5050505050905090565b60008061084a611c23565b9050610857818585611c2b565b600191505092915050565b6000600254905090565b600080610877611c23565b9050610884858285611df4565b61088f858585611e80565b60019150509392505050565b60006012905090565b60006108ae6120f6565b905090565b6000806108be611c23565b90506108df8185856108d0858961159e565b6108da9190614311565b611c2b565b600191505092915050565b60006108f461104e565b65ffffffffffff16821061093d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093490614391565b60405180910390fd5b610985600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020836121ad565b905092915050565b6109956122f5565b61099d612373565b565b6109a76122f5565b6109b182826123d6565b5050565b6060436109c061104e565b65ffffffffffff1614610a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ff906143fd565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000806000610a9084600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206123e4565b9150915081610aa757610aa285610dff565b610aa9565b805b9250505092915050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610b2d610b27611c23565b826124d9565b50565b6000600960149054906101000a900460ff16905090565b6000610b5285610d34565b841115610b94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8b9061448f565b60405180910390fd5b6000610ba0868661151c565b9050610bac87866123d6565b7f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98773ffffffffffffffffffffffffffffffffffffffff166323e30c8b338989868a8a6040518763ffffffff1660e01b8152600401610c10969594939291906144fc565b6020604051808303816000875af1158015610c2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c53919061456d565b14610c93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8a9061460c565b60405180910390fd5b6000610c9d6125f3565b9050610cb588308489610cb09190614311565b611df4565b6000821480610cf05750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b15610d0f57610d0a888388610d059190614311565b6125f8565b610d25565b610d1988876125f8565b610d24888284611e80565b5b60019250505095945050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610d70576000610da4565b610d78610862565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610da3919061462c565b5b9050919050565b6000610df8600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611a6a565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e4f6122f5565b610e596000612606565b565b6000610ea4600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611c15565b9050919050565b610eb36122f5565b610ebb6126cc565b565b600060608060008060006060610efd600a7f504553494b00000000000000000000000000000000000000000000000000000561272f90919063ffffffff16565b610f31600b7f310000000000000000000000000000000000000000000000000000000000000161272f90919063ffffffff16565b46306000801b600067ffffffffffffffff811115610f5257610f51614660565b5b604051908082528060200260200182016040528015610f805781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610ff361104e565b65ffffffffffff16821061103c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103390614391565b60405180910390fd5b6110476010836121ad565b9050919050565b600061105943611ba0565b905090565b60606004805461106d906142b1565b80601f0160208091040260200160405190810160405280929190818152602001828054611099906142b1565b80156110e65780601f106110bb576101008083540402835291602001916110e6565b820191906000526020600020905b8154815290600101906020018083116110c957829003601f168201915b5050505050905090565b6110f86122f5565b6111006127df565b50565b60008060006111138460066123e4565b915091508161112957611124610862565b61112b565b805b92505050919050565b600080600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905090506000811461121357600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060018203815481106111d8576111d761468f565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611216565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b600080611247611c23565b90506000611255828661159e565b90508381101561129a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129190614730565b60405180910390fd5b6112a78286868403611c2b565b60019250505092915050565b6000806112be611c23565b90506112cb818585611e80565b600191505092915050565b83421115611319576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113109061479c565b60405180910390fd5b600061137b6113737fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf89898960405160200161135894939291906147bc565b60405160208183030381529060405280519060200120612835565b85858561284f565b90506113868161287a565b86146113c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113be9061484d565b60405180910390fd5b6113d181886124d9565b50505050505050565b8342111561141d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611414906148b9565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861144c8c61287a565b89604051602001611462969594939291906148d9565b604051602081830303815290604052805190602001209050600061148582612835565b905060006114958287878761284f565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611505576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fc90614986565b60405180910390fd5b6115108a8a8a611c2b565b50505050505050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461158c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611583906149f2565b60405180910390fd5b61159683836128d8565b905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61162d613931565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff16815481106116845761168361468f565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b61173d6122f5565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a390614a84565b60405180910390fd5b6117b581612606565b50565b60006020835110156117d4576117cd836128e0565b90506117f6565b826117de836117fc565b60000190816117ed9190614c50565b5060ff60001b90505b92915050565b6000819050919050565b6118108282611893565b611818612948565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661183e610862565b111561187f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187690614d94565b60405180910390fd5b61188d60106119e98361296c565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611902576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f990614e00565b60405180910390fd5b61190e60008383612c47565b80600260008282546119209190614311565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119d19190613b44565b60405180910390a36119e560008383612c5f565b5050565b600081836119f79190614311565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016821115611a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5990614e92565b60405180910390fd5b819050919050565b600063ffffffff8016821115611ab5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aac90614f24565b60405180910390fd5b819050919050565b611ac8838383611bf5565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b1257611b0582612c6f565b611b0d612cc2565b611b70565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b5c57611b4f83612c6f565b611b57612cc2565b611b6f565b611b6583612c6f565b611b6e82612c6f565b5b5b505050565b611b80838383611bfa565b611b9b611b8c84610ab3565b611b9584610ab3565b83612cd6565b505050565b600065ffffffffffff8016821115611bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be490614fb6565b60405180910390fd5b819050919050565b505050565b505050565b60008183611c0d919061462c565b905092915050565b600081600001549050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9190615048565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d00906150da565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611de79190613b44565b60405180910390a3505050565b6000611e00848461159e565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611e7a5781811015611e6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6390615146565b60405180910390fd5b611e798484848403611c2b565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611eef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee6906151d8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f559061526a565b60405180910390fd5b611f69838383612c47565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611fef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe6906152fc565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120dd9190613b44565b60405180910390a36120f0848484612c5f565b50505050565b60007f000000000000000000000000958729669ed5cf93a250f23eb412cdb91e23889173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561217257507f0000000000000000000000000000000000000000000000000000000000000a4146145b1561219f577f34ff69292c3c6cc35f0932a2c19acb456594cd48479d8887abad65358f593b8390506121aa565b6121a7612ecf565b90505b90565b6000808380549050905060008082905060058311156122235760006121d184612f65565b846121dc919061462c565b9050856121e9888361305e565b60000160009054906101000a900463ffffffff1663ffffffff16111561221157809150612221565b60018161221e9190614311565b92505b505b5b808210156122835760006122388383613073565b905085612245888361305e565b60000160009054906101000a900463ffffffff1663ffffffff16111561226d5780915061227d565b60018161227a9190614311565b92505b50612224565b600081146122c957612298866001830361305e565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166122cc565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b6122fd611c23565b73ffffffffffffffffffffffffffffffffffffffff1661231b610fbf565b73ffffffffffffffffffffffffffffffffffffffff1614612371576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236890615368565b60405180910390fd5b565b61237b613099565b6000600960146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6123bf611c23565b6040516123cc9190613c59565b60405180910390a1565b6123e08282611806565b5050565b6000806000841161242a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612421906153d4565b60405180910390fd5b6124326130e2565b841115612474576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246b90615440565b60405180910390fd5b600061248c85856000016130f390919063ffffffff16565b9050836000018054905081036124a95760008092509250506124d2565b60018460010182815481106124c1576124c061468f565b5b906000526020600020015492509250505b9250929050565b60006124e483610ab3565b905060006124f184610dff565b905082600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46125ed828483612cd6565b50505050565b600090565b61260282826131ac565b5050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6126d46131ca565b6001600960146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612718611c23565b6040516127259190613c59565b60405180910390a1565b606060ff60001b831461274c5761274583613214565b90506127d9565b818054612758906142b1565b80601f0160208091040260200160405190810160405280929190818152602001828054612784906142b1565b80156127d15780601f106127a6576101008083540402835291602001916127d1565b820191906000526020600020905b8154815290600101906020018083116127b457829003601f168201915b505050505090505b92915050565b60006127eb6008613288565b60006127f56130e2565b90507f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb67816040516128269190613b44565b60405180910390a18091505090565b60006128486128426120f6565b8361329e565b9050919050565b6000806000612860878787876132df565b9150915061286d816133c1565b8192505050949350505050565b600080600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506128c781611c15565b91506128d281613288565b50919050565b600092915050565b600080829050601f8151111561292d57826040517f305a27a900000000000000000000000000000000000000000000000000000000815260040161292491906139ff565b60405180910390fd5b80518161293990615490565b60001c1760001b915050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000806000858054905090506000808214612a325761298e876001840361305e565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050612a6e565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169350612aa384868863ffffffff16565b9250600082118015612acd5750612ab861104e565b65ffffffffffff16816000015163ffffffff16145b15612b3e57612adb836119ff565b612ae8886001850361305e565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550612c3d565b866040518060400160405280612b62612b5561104e565b65ffffffffffff16611a6a565b63ffffffff168152602001612b76866119ff565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b612c4f6131ca565b612c5a838383611abd565b505050565b612c6a838383611b75565b505050565b612cbf600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612cba83610dff565b613527565b50565b612cd46006612ccf610862565b613527565b565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612d125750600081115b15612eca57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612df057600080612d99600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611bff8561296c565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612de59291906154f7565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612ec957600080612e72600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206119e98561296c565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612ebe9291906154f7565b60405180910390a250505b5b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7ff95f944684c0382a924ec0ae450818fc0879d323c72b8c44ab649aa8ddb76b217fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001612f4a959493929190615520565b60405160208183030381529060405280519060200120905090565b6000808203612f775760009050613059565b60006001612f84846135a2565b901c6001901b90506001818481612f9e57612f9d615573565b5b048201901c90506001818481612fb757612fb6615573565b5b048201901c90506001818481612fd057612fcf615573565b5b048201901c90506001818481612fe957612fe8615573565b5b048201901c9050600181848161300257613001615573565b5b048201901c9050600181848161301b5761301a615573565b5b048201901c9050600181848161303457613033615573565b5b048201901c90506130558182858161304f5761304e615573565b5b04613683565b9150505b919050565b60008260005281602060002001905092915050565b6000600282841861308491906155a2565b8284166130919190614311565b905092915050565b6130a1610b30565b6130e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130d79061561f565b60405180910390fd5b565b60006130ee6008611c15565b905090565b60008083805490500361310957600090506131a6565b600080848054905090505b8082101561315d5760006131288383613073565b905084613135878361369c565b60000154111561314757809150613157565b6001816131549190614311565b92505b50613114565b60008211801561318557508361317f8660018561317a919061462c565b61369c565b60000154145b156131a057600182613197919061462c565b925050506131a6565b81925050505b92915050565b6131b682826136be565b6131c46010611bff8361296c565b50505050565b6131d2610b30565b15613212576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132099061568b565b60405180910390fd5b565b606060006132218361388b565b90506000602067ffffffffffffffff8111156132405761323f614660565b5b6040519080825280601f01601f1916602001820160405280156132725781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b6001816000016000828254019250508190555050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c111561331a5760006003915091506133b8565b60006001878787876040516000815260200160405260405161333f94939291906156ab565b6020604051602081039080840390855afa158015613361573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036133af576000600192509250506133b8565b80600092509250505b94509492505050565b600060048111156133d5576133d46156f0565b5b8160048111156133e8576133e76156f0565b5b03156135245760016004811115613402576134016156f0565b5b816004811115613415576134146156f0565b5b03613455576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161344c9061576b565b60405180910390fd5b60026004811115613469576134686156f0565b5b81600481111561347c5761347b6156f0565b5b036134bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134b3906157d7565b60405180910390fd5b600360048111156134d0576134cf6156f0565b5b8160048111156134e3576134e26156f0565b5b03613523576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161351a90615869565b60405180910390fd5b5b50565b60006135316130e2565b905080613540846000016138db565b101561359d5782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b600080600090506000608084901c11156135c457608083901c92506080810190505b6000604084901c11156135df57604083901c92506040810190505b6000602084901c11156135fa57602083901c92506020810190505b6000601084901c111561361557601083901c92506010810190505b6000600884901c111561363057600883901c92506008810190505b6000600484901c111561364b57600483901c92506004810190505b6000600284901c111561366657600283901c92506002810190505b6000600184901c111561367a576001810190505b80915050919050565b60008183106136925781613694565b825b905092915050565b600080836000528260206000200190506136b581613927565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361372d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613724906158fb565b60405180910390fd5b61373982600083612c47565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156137bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137b69061598d565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516138729190613b44565b60405180910390a361388683600084612c5f565b505050565b60008060ff8360001c169050601f8111156138d2576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6000808280549050036138f15760009050613922565b8160018380549050613903919061462c565b815481106139145761391361468f565b5b906000526020600020015490505b919050565b6000819050919050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b838110156139a957808201518184015260208101905061398e565b60008484015250505050565b6000601f19601f8301169050919050565b60006139d18261396f565b6139db818561397a565b93506139eb81856020860161398b565b6139f4816139b5565b840191505092915050565b60006020820190508181036000830152613a1981846139c6565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613a5682613a2b565b9050919050565b613a6681613a4b565b8114613a7157600080fd5b50565b600081359050613a8381613a5d565b92915050565b6000819050919050565b613a9c81613a89565b8114613aa757600080fd5b50565b600081359050613ab981613a93565b92915050565b60008060408385031215613ad657613ad5613a21565b5b6000613ae485828601613a74565b9250506020613af585828601613aaa565b9150509250929050565b60008115159050919050565b613b1481613aff565b82525050565b6000602082019050613b2f6000830184613b0b565b92915050565b613b3e81613a89565b82525050565b6000602082019050613b596000830184613b35565b92915050565b600080600060608486031215613b7857613b77613a21565b5b6000613b8686828701613a74565b9350506020613b9786828701613a74565b9250506040613ba886828701613aaa565b9150509250925092565b600060ff82169050919050565b613bc881613bb2565b82525050565b6000602082019050613be36000830184613bbf565b92915050565b6000819050919050565b613bfc81613be9565b82525050565b6000602082019050613c176000830184613bf3565b92915050565b600060208284031215613c3357613c32613a21565b5b6000613c4184828501613a74565b91505092915050565b613c5381613a4b565b82525050565b6000602082019050613c6e6000830184613c4a565b92915050565b6000613c7f82613a4b565b9050919050565b613c8f81613c74565b8114613c9a57600080fd5b50565b600081359050613cac81613c86565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112613cd757613cd6613cb2565b5b8235905067ffffffffffffffff811115613cf457613cf3613cb7565b5b602083019150836001820283011115613d1057613d0f613cbc565b5b9250929050565b600080600080600060808688031215613d3357613d32613a21565b5b6000613d4188828901613c9d565b9550506020613d5288828901613a74565b9450506040613d6388828901613aaa565b935050606086013567ffffffffffffffff811115613d8457613d83613a26565b5b613d9088828901613cc1565b92509250509295509295909350565b600063ffffffff82169050919050565b613db881613d9f565b82525050565b6000602082019050613dd36000830184613daf565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b613e0e81613dd9565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613e4981613a89565b82525050565b6000613e5b8383613e40565b60208301905092915050565b6000602082019050919050565b6000613e7f82613e14565b613e898185613e1f565b9350613e9483613e30565b8060005b83811015613ec5578151613eac8882613e4f565b9750613eb783613e67565b925050600181019050613e98565b5085935050505092915050565b600060e082019050613ee7600083018a613e05565b8181036020830152613ef981896139c6565b90508181036040830152613f0d81886139c6565b9050613f1c6060830187613b35565b613f296080830186613c4a565b613f3660a0830185613bf3565b81810360c0830152613f488184613e74565b905098975050505050505050565b600060208284031215613f6c57613f6b613a21565b5b6000613f7a84828501613aaa565b91505092915050565b600065ffffffffffff82169050919050565b613f9e81613f83565b82525050565b6000602082019050613fb96000830184613f95565b92915050565b613fc881613bb2565b8114613fd357600080fd5b50565b600081359050613fe581613fbf565b92915050565b613ff481613be9565b8114613fff57600080fd5b50565b60008135905061401181613feb565b92915050565b60008060008060008060c0878903121561403457614033613a21565b5b600061404289828a01613a74565b965050602061405389828a01613aaa565b955050604061406489828a01613aaa565b945050606061407589828a01613fd6565b935050608061408689828a01614002565b92505060a061409789828a01614002565b9150509295509295509295565b600080600080600080600060e0888a0312156140c3576140c2613a21565b5b60006140d18a828b01613a74565b97505060206140e28a828b01613a74565b96505060406140f38a828b01613aaa565b95505060606141048a828b01613aaa565b94505060806141158a828b01613fd6565b93505060a06141268a828b01614002565b92505060c06141378a828b01614002565b91505092959891949750929550565b6000806040838503121561415d5761415c613a21565b5b600061416b85828601613a74565b925050602061417c85828601613a74565b9150509250929050565b61418f81613d9f565b811461419a57600080fd5b50565b6000813590506141ac81614186565b92915050565b600080604083850312156141c9576141c8613a21565b5b60006141d785828601613a74565b92505060206141e88582860161419d565b9150509250929050565b6141fb81613d9f565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b61423281614201565b82525050565b60408201600082015161424e60008501826141f2565b5060208201516142616020850182614229565b50505050565b600060408201905061427c6000830184614238565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806142c957607f821691505b6020821081036142dc576142db614282565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061431c82613a89565b915061432783613a89565b925082820190508082111561433f5761433e6142e2565b5b92915050565b7f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000600082015250565b600061437b60198361397a565b915061438682614345565b602082019050919050565b600060208201905081810360008301526143aa8161436e565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000600082015250565b60006143e7601d8361397a565b91506143f2826143b1565b602082019050919050565b60006020820190508181036000830152614416816143da565b9050919050565b7f4552433230466c6173684d696e743a20616d6f756e742065786365656473206d60008201527f6178466c6173684c6f616e000000000000000000000000000000000000000000602082015250565b6000614479602b8361397a565b91506144848261441d565b604082019050919050565b600060208201905081810360008301526144a88161446c565b9050919050565b600082825260208201905092915050565b82818337600083830152505050565b60006144db83856144af565b93506144e88385846144c0565b6144f1836139b5565b840190509392505050565b600060a0820190506145116000830189613c4a565b61451e6020830188613c4a565b61452b6040830187613b35565b6145386060830186613b35565b818103608083015261454b8184866144cf565b9050979650505050505050565b60008151905061456781613feb565b92915050565b60006020828403121561458357614582613a21565b5b600061459184828501614558565b91505092915050565b7f4552433230466c6173684d696e743a20696e76616c69642072657475726e207660008201527f616c756500000000000000000000000000000000000000000000000000000000602082015250565b60006145f660248361397a565b91506146018261459a565b604082019050919050565b60006020820190508181036000830152614625816145e9565b9050919050565b600061463782613a89565b915061464283613a89565b925082820390508181111561465a576146596142e2565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061471a60258361397a565b9150614725826146be565b604082019050919050565b600060208201905081810360008301526147498161470d565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b6000614786601d8361397a565b915061479182614750565b602082019050919050565b600060208201905081810360008301526147b581614779565b9050919050565b60006080820190506147d16000830187613bf3565b6147de6020830186613c4a565b6147eb6040830185613b35565b6147f86060830184613b35565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b600061483760198361397a565b915061484282614801565b602082019050919050565b600060208201905081810360008301526148668161482a565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b60006148a3601d8361397a565b91506148ae8261486d565b602082019050919050565b600060208201905081810360008301526148d281614896565b9050919050565b600060c0820190506148ee6000830189613bf3565b6148fb6020830188613c4a565b6149086040830187613c4a565b6149156060830186613b35565b6149226080830185613b35565b61492f60a0830184613b35565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b6000614970601e8361397a565b915061497b8261493a565b602082019050919050565b6000602082019050818103600083015261499f81614963565b9050919050565b7f4552433230466c6173684d696e743a2077726f6e6720746f6b656e0000000000600082015250565b60006149dc601b8361397a565b91506149e7826149a6565b602082019050919050565b60006020820190508181036000830152614a0b816149cf565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614a6e60268361397a565b9150614a7982614a12565b604082019050919050565b60006020820190508181036000830152614a9d81614a61565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302614b067fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614ac9565b614b108683614ac9565b95508019841693508086168417925050509392505050565b6000819050919050565b6000614b4d614b48614b4384613a89565b614b28565b613a89565b9050919050565b6000819050919050565b614b6783614b32565b614b7b614b7382614b54565b848454614ad6565b825550505050565b600090565b614b90614b83565b614b9b818484614b5e565b505050565b5b81811015614bbf57614bb4600082614b88565b600181019050614ba1565b5050565b601f821115614c0457614bd581614aa4565b614bde84614ab9565b81016020851015614bed578190505b614c01614bf985614ab9565b830182614ba0565b50505b505050565b600082821c905092915050565b6000614c2760001984600802614c09565b1980831691505092915050565b6000614c408383614c16565b9150826002028217905092915050565b614c598261396f565b67ffffffffffffffff811115614c7257614c71614660565b5b614c7c82546142b1565b614c87828285614bc3565b600060209050601f831160018114614cba5760008415614ca8578287015190505b614cb28582614c34565b865550614d1a565b601f198416614cc886614aa4565b60005b82811015614cf057848901518255600182019150602085019450602081019050614ccb565b86831015614d0d5784890151614d09601f891682614c16565b8355505b6001600288020188555050505b505050505050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000614d7e60308361397a565b9150614d8982614d22565b604082019050919050565b60006020820190508181036000830152614dad81614d71565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000614dea601f8361397a565b9150614df582614db4565b602082019050919050565b60006020820190508181036000830152614e1981614ddd565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000614e7c60278361397a565b9150614e8782614e20565b604082019050919050565b60006020820190508181036000830152614eab81614e6f565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000614f0e60268361397a565b9150614f1982614eb2565b604082019050919050565b60006020820190508181036000830152614f3d81614f01565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b6000614fa060268361397a565b9150614fab82614f44565b604082019050919050565b60006020820190508181036000830152614fcf81614f93565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061503260248361397a565b915061503d82614fd6565b604082019050919050565b6000602082019050818103600083015261506181615025565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006150c460228361397a565b91506150cf82615068565b604082019050919050565b600060208201905081810360008301526150f3816150b7565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000615130601d8361397a565b915061513b826150fa565b602082019050919050565b6000602082019050818103600083015261515f81615123565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006151c260258361397a565b91506151cd82615166565b604082019050919050565b600060208201905081810360008301526151f1816151b5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061525460238361397a565b915061525f826151f8565b604082019050919050565b6000602082019050818103600083015261528381615247565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006152e660268361397a565b91506152f18261528a565b604082019050919050565b60006020820190508181036000830152615315816152d9565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061535260208361397a565b915061535d8261531c565b602082019050919050565b6000602082019050818103600083015261538181615345565b9050919050565b7f4552433230536e617073686f743a206964206973203000000000000000000000600082015250565b60006153be60168361397a565b91506153c982615388565b602082019050919050565b600060208201905081810360008301526153ed816153b1565b9050919050565b7f4552433230536e617073686f743a206e6f6e6578697374656e74206964000000600082015250565b600061542a601d8361397a565b9150615435826153f4565b602082019050919050565b600060208201905081810360008301526154598161541d565b9050919050565b600081519050919050565b6000819050602082019050919050565b60006154878251613be9565b80915050919050565b600061549b82615460565b826154a58461546b565b90506154b08161547b565b925060208210156154f0576154eb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802614ac9565b831692505b5050919050565b600060408201905061550c6000830185613b35565b6155196020830184613b35565b9392505050565b600060a0820190506155356000830188613bf3565b6155426020830187613bf3565b61554f6040830186613bf3565b61555c6060830185613b35565b6155696080830184613c4a565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006155ad82613a89565b91506155b883613a89565b9250826155c8576155c7615573565b5b828204905092915050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b600061560960148361397a565b9150615614826155d3565b602082019050919050565b60006020820190508181036000830152615638816155fc565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b600061567560108361397a565b91506156808261563f565b602082019050919050565b600060208201905081810360008301526156a481615668565b9050919050565b60006080820190506156c06000830187613bf3565b6156cd6020830186613bbf565b6156da6040830185613bf3565b6156e76060830184613bf3565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b600061575560188361397a565b91506157608261571f565b602082019050919050565b6000602082019050818103600083015261578481615748565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b60006157c1601f8361397a565b91506157cc8261578b565b602082019050919050565b600060208201905081810360008301526157f0816157b4565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b600061585360228361397a565b915061585e826157f7565b604082019050919050565b6000602082019050818103600083015261588281615846565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006158e560218361397a565b91506158f082615889565b604082019050919050565b60006020820190508181036000830152615914816158d8565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600061597760228361397a565b91506159828261591b565b604082019050919050565b600060208201905081810360008301526159a68161596a565b905091905056fea26469706673582212204091d487da33a2111b0c929e5f22b954fb40c69fabd82ea26a8ed557c10516eb64736f6c63430008120033