Mainnet
Testnet
Sugar (SGR)

Sugar (SGR)

Overview

Max Total supply:
135
SGR
Holders:
2 addresses
Total transfers:
3

Token info

Contract:
Name:
Sugar
Symbol:
SGR
Decimals:
18
Token type:
wrc20
Are you the contract creator? Verify and Publish your contract source code.

Creation bytecode

0x6101606040523480156200001257600080fd5b506040518060400160405280600581526020017f5375676172000000000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f53756761720000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f53475200000000000000000000000000000000000000000000000000000000008152508160039081620000fd919062001453565b5080600490816200010f919062001453565b50505062000132620001266200024b60201b60201c565b6200025360201b60201c565b6000600960146101000a81548160ff02191690831515021790555062000168600a836200031960201b6200177b1790919060201c565b61012081815250506200018b600b826200031960201b6200177b1790919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a08181525050620001ca6200037660201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff168152505050505062000245336200021d620003d360201b60201c565b600a6200022b9190620016ca565b60876200023991906200171b565b620003dc60201b60201c565b62001dbc565b600033905090565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006020835110156200033f576200033783620003f760201b60201c565b905062000370565b8262000356836200046460201b620017bf1760201c565b600001908162000367919062001453565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e051610100514630604051602001620003b8959493929190620017d7565b60405160208183030381529060405280519060200120905090565b60006012905090565b620003f382826200046e60201b620017c91760201c565b5050565b600080829050601f815111156200044757826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016200043e9190620018c3565b60405180910390fd5b805181620004559062001919565b60001c1760001b915050919050565b6000819050919050565b6200048582826200052c60201b620018561760201c565b620004956200069960201b60201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16620004c3620006bd60201b60201c565b111562000507576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004fe90620019ff565b60405180910390fd5b620005266010620006c760201b620019ac1783620006df60201b60201c565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200059e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005959062001a71565b60405180910390fd5b620005b26000838362000a0460201b60201c565b8060026000828254620005c6919062001a93565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000679919062001ace565b60405180910390a3620006956000838362000a3160201b60201c565b5050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000600254905090565b60008183620006d7919062001a93565b905092915050565b6000806000858054905090506000808214620007af576200070a876001840362000a4e60201b60201c565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050620007eb565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1693506200081e84868860201c565b92506000821180156200085157506200083c62000a6360201b60201c565b65ffffffffffff16816000015163ffffffff16145b15620008d9576200086d8362000a8060201b620019c21760201c565b62000882886001850362000a4e60201b60201c565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550620009fa565b86604051806040016040528062000912620008f962000a6360201b60201c565b65ffffffffffff1662000aee60201b62001a2d1760201c565b63ffffffff168152602001620009338662000a8060201b620019c21760201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b62000a1462000b4460201b60201c565b62000a2c83838362000b9960201b62001a801760201c565b505050565b62000a4983838362000c9260201b62001b381760201c565b505050565b60008260005281602060002001905092915050565b600062000a7b4362000ce260201b62001b631760201c565b905090565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff801682111562000ae6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000add9062001b61565b60405180910390fd5b819050919050565b600063ffffffff801682111562000b3c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b339062001bf9565b60405180910390fd5b819050919050565b62000b5462000d3a60201b60201c565b1562000b97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b8e9062001c6b565b60405180910390fd5b565b62000bb183838362000d5160201b62001bb81760201c565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000c0d5762000bf78262000d5660201b60201c565b62000c0762000db960201b60201c565b62000c8d565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000c695762000c538362000d5660201b60201c565b62000c6362000db960201b60201c565b62000c8c565b62000c7a8362000d5660201b60201c565b62000c8b8262000d5660201b60201c565b5b5b505050565b62000caa83838362000ddd60201b62001bbd1760201c565b62000cdd62000cbf8462000de260201b60201c565b62000cd08462000de260201b60201c565b8362000e4b60201b60201c565b505050565b600065ffffffffffff801682111562000d32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000d299062001d03565b60405180910390fd5b819050919050565b6000600960149054906101000a900460ff16905090565b505050565b62000db6600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002062000daa836200106e60201b60201c565b620010b660201b60201c565b50565b62000ddb600662000dcf620006bd60201b60201c565b620010b660201b60201c565b565b505050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801562000e885750600081115b156200106957600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000f7b5760008062000f22600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206200114260201b62001bc21785620006df60201b60201c565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000f7092919062001d25565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462001068576000806200100f600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020620006c760201b620019ac1785620006df60201b60201c565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516200105d92919062001d25565b60405180910390a250505b5b505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000620010c86200115a60201b60201c565b905080620010df846000016200117860201b60201c565b10156200113d5782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b6000818362001152919062001d52565b905092915050565b6000620011736008620011cb60201b62001bd81760201c565b905090565b600080828054905003620011905760009050620011c6565b8160018380549050620011a4919062001d52565b81548110620011b857620011b762001d8d565b5b906000526020600020015490505b919050565b600081600001549050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200125b57607f821691505b60208210810362001271576200127062001213565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620012db7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200129c565b620012e786836200129c565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620013346200132e6200132884620012ff565b62001309565b620012ff565b9050919050565b6000819050919050565b620013508362001313565b620013686200135f826200133b565b848454620012a9565b825550505050565b600090565b6200137f62001370565b6200138c81848462001345565b505050565b5b81811015620013b457620013a860008262001375565b60018101905062001392565b5050565b601f8211156200140357620013cd8162001277565b620013d8846200128c565b81016020851015620013e8578190505b62001400620013f7856200128c565b83018262001391565b50505b505050565b600082821c905092915050565b6000620014286000198460080262001408565b1980831691505092915050565b600062001443838362001415565b9150826002028217905092915050565b6200145e82620011d9565b67ffffffffffffffff8111156200147a5762001479620011e4565b5b62001486825462001242565b62001493828285620013b8565b600060209050601f831160018114620014cb5760008415620014b6578287015190505b620014c2858262001435565b86555062001532565b601f198416620014db8662001277565b60005b828110156200150557848901518255600182019150602085019450602081019050620014de565b8683101562001525578489015162001521601f89168262001415565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620015c857808604811115620015a0576200159f6200153a565b5b6001851615620015b05780820291505b8081029050620015c08562001569565b945062001580565b94509492505050565b600082620015e35760019050620016b6565b81620015f35760009050620016b6565b81600181146200160c576002811462001617576200164d565b6001915050620016b6565b60ff8411156200162c576200162b6200153a565b5b8360020a9150848211156200164657620016456200153a565b5b50620016b6565b5060208310610133831016604e8410600b8410161715620016875782820a9050838111156200168157620016806200153a565b5b620016b6565b62001696848484600162001576565b92509050818404811115620016b057620016af6200153a565b5b81810290505b9392505050565b600060ff82169050919050565b6000620016d782620012ff565b9150620016e483620016bd565b9250620017137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620015d1565b905092915050565b60006200172882620012ff565b91506200173583620012ff565b92508282026200174581620012ff565b915082820484148315176200175f576200175e6200153a565b5b5092915050565b6000819050919050565b6200177b8162001766565b82525050565b6200178c81620012ff565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620017bf8262001792565b9050919050565b620017d181620017b2565b82525050565b600060a082019050620017ee600083018862001770565b620017fd602083018762001770565b6200180c604083018662001770565b6200181b606083018562001781565b6200182a6080830184620017c6565b9695505050505050565b600082825260208201905092915050565b60005b838110156200186557808201518184015260208101905062001848565b60008484015250505050565b6000601f19601f8301169050919050565b60006200188f82620011d9565b6200189b818562001834565b9350620018ad81856020860162001845565b620018b88162001871565b840191505092915050565b60006020820190508181036000830152620018df818462001882565b905092915050565b600081519050919050565b6000819050602082019050919050565b600062001910825162001766565b80915050919050565b60006200192682620018e7565b826200193284620018f2565b90506200193f8162001902565b9250602082101562001982576200197d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff836020036008026200129c565b831692505b5050919050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000620019e760308362001834565b9150620019f48262001989565b604082019050919050565b6000602082019050818103600083015262001a1a81620019d8565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062001a59601f8362001834565b915062001a668262001a21565b602082019050919050565b6000602082019050818103600083015262001a8c8162001a4a565b9050919050565b600062001aa082620012ff565b915062001aad83620012ff565b925082820190508082111562001ac85762001ac76200153a565b5b92915050565b600060208201905062001ae5600083018462001781565b92915050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b600062001b4960278362001834565b915062001b568262001aeb565b604082019050919050565b6000602082019050818103600083015262001b7c8162001b3a565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b600062001be160268362001834565b915062001bee8262001b83565b604082019050919050565b6000602082019050818103600083015262001c148162001bd2565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b600062001c5360108362001834565b915062001c608262001c1b565b602082019050919050565b6000602082019050818103600083015262001c868162001c44565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b600062001ceb60268362001834565b915062001cf88262001c8d565b604082019050919050565b6000602082019050818103600083015262001d1e8162001cdc565b9050919050565b600060408201905062001d3c600083018562001781565b62001d4b602083018462001781565b9392505050565b600062001d5f82620012ff565b915062001d6c83620012ff565b925082820390508181111562001d875762001d866200153a565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60805160a05160c05160e0516101005161012051610140516159a662001e176000396000610ec701526000610e9301526000612ed801526000612eb7015260006120bd015260006121130152600061213c01526159a66000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c8063715018a611610130578063981b24d0116100b8578063d505accf1161007c578063d505accf146106be578063d9d98ce4146106da578063dd62ed3e1461070a578063f1127ed81461073a578063f2fde38b1461076a57610227565b8063981b24d0146105e25780639ab24eb014610612578063a457c2d714610642578063a9059cbb14610672578063c3cda520146106a257610227565b80638da5cb5b116100ff5780638da5cb5b1461054e5780638e539e8c1461056c57806391ddadf41461059c57806395d89b41146105ba5780639711715a146105d857610227565b8063715018a6146104e65780637ecebe00146104f05780638456cb591461052057806384b0196e1461052a57610227565b80634bf5d7e9116101b35780635c975abb116101825780635c975abb146104085780635cffe9de14610426578063613255ab146104565780636fcfff451461048657806370a08231146104b657610227565b80634bf5d7e91461036e5780634ee2cd7e1461038c578063587cde1e146103bc5780635c19a95c146103ec57610227565b8063313ce567116101fa578063313ce567146102c85780633644e515146102e657806339509351146103045780633a46b1a8146103345780633f4ba83a1461036457610227565b806306fdde031461022c578063095ea7b31461024a57806318160ddd1461027a57806323b872dd14610298575b600080fd5b610234610786565b60405161024191906139c2565b60405180910390f35b610264600480360381019061025f9190613a82565b610818565b6040516102719190613add565b60405180910390f35b61028261083b565b60405161028f9190613b07565b60405180910390f35b6102b260048036038101906102ad9190613b22565b610845565b6040516102bf9190613add565b60405180910390f35b6102d0610874565b6040516102dd9190613b91565b60405180910390f35b6102ee61087d565b6040516102fb9190613bc5565b60405180910390f35b61031e60048036038101906103199190613a82565b61088c565b60405161032b9190613add565b60405180910390f35b61034e60048036038101906103499190613a82565b6108c3565b60405161035b9190613b07565b60405180910390f35b61036c610966565b005b610376610978565b60405161038391906139c2565b60405180910390f35b6103a660048036038101906103a19190613a82565b610a06565b6040516103b39190613b07565b60405180910390f35b6103d660048036038101906103d19190613be0565b610a76565b6040516103e39190613c1c565b60405180910390f35b61040660048036038101906104019190613be0565b610adf565b005b610410610af3565b60405161041d9190613add565b60405180910390f35b610440600480360381019061043b9190613cda565b610b0a565b60405161044d9190613add565b60405180910390f35b610470600480360381019061046b9190613be0565b610cf7565b60405161047d9190613b07565b60405180910390f35b6104a0600480360381019061049b9190613be0565b610d6e565b6040516104ad9190613d81565b60405180910390f35b6104d060048036038101906104cb9190613be0565b610dc2565b6040516104dd9190613b07565b60405180910390f35b6104ee610e0a565b005b61050a60048036038101906105059190613be0565b610e1e565b6040516105179190613b07565b60405180910390f35b610528610e6e565b005b610532610e80565b6040516105459796959493929190613e95565b60405180910390f35b610556610f82565b6040516105639190613c1c565b60405180910390f35b61058660048036038101906105819190613f19565b610fac565b6040516105939190613b07565b60405180910390f35b6105a4611011565b6040516105b19190613f67565b60405180910390f35b6105c2611021565b6040516105cf91906139c2565b60405180910390f35b6105e06110b3565b005b6105fc60048036038101906105f79190613f19565b6110c6565b6040516106099190613b07565b60405180910390f35b61062c60048036038101906106279190613be0565b6110f7565b6040516106399190613b07565b60405180910390f35b61065c60048036038101906106579190613a82565b6111ff565b6040516106699190613add565b60405180910390f35b61068c60048036038101906106879190613a82565b611276565b6040516106999190613add565b60405180910390f35b6106bc60048036038101906106b79190613fda565b611299565b005b6106d860048036038101906106d39190614067565b61139d565b005b6106f460048036038101906106ef9190613a82565b6114df565b6040516107019190613b07565b60405180910390f35b610724600480360381019061071f9190614109565b611561565b6040516107319190613b07565b60405180910390f35b610754600480360381019061074f9190614175565b6115e8565b604051610761919061422a565b60405180910390f35b610784600480360381019061077f9190613be0565b6116f8565b005b60606003805461079590614274565b80601f01602080910402602001604051908101604052809291908181526020018280546107c190614274565b801561080e5780601f106107e35761010080835404028352916020019161080e565b820191906000526020600020905b8154815290600101906020018083116107f157829003601f168201915b5050505050905090565b600080610823611be6565b9050610830818585611bee565b600191505092915050565b6000600254905090565b600080610850611be6565b905061085d858285611db7565b610868858585611e43565b60019150509392505050565b60006012905090565b60006108876120b9565b905090565b600080610897611be6565b90506108b88185856108a98589611561565b6108b391906142d4565b611bee565b600191505092915050565b60006108cd611011565b65ffffffffffff168210610916576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090d90614354565b60405180910390fd5b61095e600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083612170565b905092915050565b61096e6122b8565b610976612336565b565b606043610983611011565b65ffffffffffff16146109cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c2906143c0565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000806000610a5384600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612399565b9150915081610a6a57610a6585610dc2565b610a6c565b805b9250505092915050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610af0610aea611be6565b8261248e565b50565b6000600960149054906101000a900460ff16905090565b6000610b1585610cf7565b841115610b57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4e90614452565b60405180910390fd5b6000610b6386866114df565b9050610b6f87866125a8565b7f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98773ffffffffffffffffffffffffffffffffffffffff166323e30c8b338989868a8a6040518763ffffffff1660e01b8152600401610bd3969594939291906144bf565b6020604051808303816000875af1158015610bf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c169190614530565b14610c56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4d906145cf565b60405180910390fd5b6000610c606125b6565b9050610c7888308489610c7391906142d4565b611db7565b6000821480610cb35750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b15610cd257610ccd888388610cc891906142d4565b6125bb565b610ce8565b610cdc88876125bb565b610ce7888284611e43565b5b60019250505095945050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610d33576000610d67565b610d3b61083b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610d6691906145ef565b5b9050919050565b6000610dbb600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611a2d565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e126122b8565b610e1c60006125c9565b565b6000610e67600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611bd8565b9050919050565b610e766122b8565b610e7e61268f565b565b600060608060008060006060610ec0600a7f00000000000000000000000000000000000000000000000000000000000000006126f290919063ffffffff16565b610ef4600b7f00000000000000000000000000000000000000000000000000000000000000006126f290919063ffffffff16565b46306000801b600067ffffffffffffffff811115610f1557610f14614623565b5b604051908082528060200260200182016040528015610f435781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610fb6611011565b65ffffffffffff168210610fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff690614354565b60405180910390fd5b61100a601083612170565b9050919050565b600061101c43611b63565b905090565b60606004805461103090614274565b80601f016020809104026020016040519081016040528092919081815260200182805461105c90614274565b80156110a95780601f1061107e576101008083540402835291602001916110a9565b820191906000526020600020905b81548152906001019060200180831161108c57829003601f168201915b5050505050905090565b6110bb6122b8565b6110c36127a2565b50565b60008060006110d6846006612399565b91509150816110ec576110e761083b565b6110ee565b805b92505050919050565b600080600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600081146111d657600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600182038154811061119b5761119a614652565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166111d9565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b60008061120a611be6565b905060006112188286611561565b90508381101561125d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611254906146f3565b60405180910390fd5b61126a8286868403611bee565b60019250505092915050565b600080611281611be6565b905061128e818585611e43565b600191505092915050565b834211156112dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d39061475f565b60405180910390fd5b600061133e6113367fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf89898960405160200161131b949392919061477f565b604051602081830303815290604052805190602001206127f8565b858585612812565b90506113498161283d565b861461138a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138190614810565b60405180910390fd5b611394818861248e565b50505050505050565b834211156113e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d79061487c565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861140f8c61283d565b896040516020016114259695949392919061489c565b6040516020818303038152906040528051906020012090506000611448826127f8565b9050600061145882878787612812565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146114c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bf90614949565b60405180910390fd5b6114d38a8a8a611bee565b50505050505050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461154f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611546906149b5565b60405180910390fd5b611559838361289b565b905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6115f06138f4565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff168154811061164757611646614652565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b6117006122b8565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361176f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176690614a47565b60405180910390fd5b611778816125c9565b50565b600060208351101561179757611790836128a3565b90506117b9565b826117a1836117bf565b60000190816117b09190614c13565b5060ff60001b90505b92915050565b6000819050919050565b6117d38282611856565b6117db61290b565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661180161083b565b1115611842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183990614d57565b60405180910390fd5b61185060106119ac8361292f565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bc90614dc3565b60405180910390fd5b6118d160008383612c0a565b80600260008282546118e391906142d4565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119949190613b07565b60405180910390a36119a860008383612c22565b5050565b600081836119ba91906142d4565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016821115611a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1c90614e55565b60405180910390fd5b819050919050565b600063ffffffff8016821115611a78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6f90614ee7565b60405180910390fd5b819050919050565b611a8b838383611bb8565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ad557611ac882612c32565b611ad0612c85565b611b33565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b1f57611b1283612c32565b611b1a612c85565b611b32565b611b2883612c32565b611b3182612c32565b5b5b505050565b611b43838383611bbd565b611b5e611b4f84610a76565b611b5884610a76565b83612c99565b505050565b600065ffffffffffff8016821115611bb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba790614f79565b60405180910390fd5b819050919050565b505050565b505050565b60008183611bd091906145ef565b905092915050565b600081600001549050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c549061500b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ccc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc39061509d565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611daa9190613b07565b60405180910390a3505050565b6000611dc38484611561565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611e3d5781811015611e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2690615109565b60405180910390fd5b611e3c8484848403611bee565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611eb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea99061519b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f189061522d565b60405180910390fd5b611f2c838383612c0a565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611fb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa9906152bf565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120a09190613b07565b60405180910390a36120b3848484612c22565b50505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561213557507f000000000000000000000000000000000000000000000000000000000000000046145b15612162577f0000000000000000000000000000000000000000000000000000000000000000905061216d565b61216a612e92565b90505b90565b6000808380549050905060008082905060058311156121e657600061219484612f28565b8461219f91906145ef565b9050856121ac8883613021565b60000160009054906101000a900463ffffffff1663ffffffff1611156121d4578091506121e4565b6001816121e191906142d4565b92505b505b5b808210156122465760006121fb8383613036565b9050856122088883613021565b60000160009054906101000a900463ffffffff1663ffffffff16111561223057809150612240565b60018161223d91906142d4565b92505b506121e7565b6000811461228c5761225b8660018303613021565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661228f565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b6122c0611be6565b73ffffffffffffffffffffffffffffffffffffffff166122de610f82565b73ffffffffffffffffffffffffffffffffffffffff1614612334576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232b9061532b565b60405180910390fd5b565b61233e61305c565b6000600960146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa612382611be6565b60405161238f9190613c1c565b60405180910390a1565b600080600084116123df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123d690615397565b60405180910390fd5b6123e76130a5565b841115612429576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242090615403565b60405180910390fd5b600061244185856000016130b690919063ffffffff16565b90508360000180549050810361245e576000809250925050612487565b600184600101828154811061247657612475614652565b5b906000526020600020015492509250505b9250929050565b600061249983610a76565b905060006124a684610dc2565b905082600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46125a2828483612c99565b50505050565b6125b282826117c9565b5050565b600090565b6125c5828261316f565b5050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61269761318d565b6001600960146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586126db611be6565b6040516126e89190613c1c565b60405180910390a1565b606060ff60001b831461270f57612708836131d7565b905061279c565b81805461271b90614274565b80601f016020809104026020016040519081016040528092919081815260200182805461274790614274565b80156127945780601f1061276957610100808354040283529160200191612794565b820191906000526020600020905b81548152906001019060200180831161277757829003601f168201915b505050505090505b92915050565b60006127ae600861324b565b60006127b86130a5565b90507f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb67816040516127e99190613b07565b60405180910390a18091505090565b600061280b6128056120b9565b83613261565b9050919050565b6000806000612823878787876132a2565b9150915061283081613384565b8192505050949350505050565b600080600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061288a81611bd8565b91506128958161324b565b50919050565b600092915050565b600080829050601f815111156128f057826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016128e791906139c2565b60405180910390fd5b8051816128fc90615453565b60001c1760001b915050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b60008060008580549050905060008082146129f5576129518760018403613021565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050612a31565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169350612a6684868863ffffffff16565b9250600082118015612a905750612a7b611011565b65ffffffffffff16816000015163ffffffff16145b15612b0157612a9e836119c2565b612aab8860018503613021565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550612c00565b866040518060400160405280612b25612b18611011565b65ffffffffffff16611a2d565b63ffffffff168152602001612b39866119c2565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b612c1261318d565b612c1d838383611a80565b505050565b612c2d838383611b38565b505050565b612c82600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612c7d83610dc2565b6134ea565b50565b612c976006612c9261083b565b6134ea565b565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612cd55750600081115b15612e8d57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612db357600080612d5c600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611bc28561292f565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612da89291906154ba565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612e8c57600080612e35600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206119ac8561292f565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612e819291906154ba565b60405180910390a250505b5b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001612f0d9594939291906154e3565b60405160208183030381529060405280519060200120905090565b6000808203612f3a576000905061301c565b60006001612f4784613565565b901c6001901b90506001818481612f6157612f60615536565b5b048201901c90506001818481612f7a57612f79615536565b5b048201901c90506001818481612f9357612f92615536565b5b048201901c90506001818481612fac57612fab615536565b5b048201901c90506001818481612fc557612fc4615536565b5b048201901c90506001818481612fde57612fdd615536565b5b048201901c90506001818481612ff757612ff6615536565b5b048201901c90506130188182858161301257613011615536565b5b04613646565b9150505b919050565b60008260005281602060002001905092915050565b600060028284186130479190615565565b82841661305491906142d4565b905092915050565b613064610af3565b6130a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161309a906155e2565b60405180910390fd5b565b60006130b16008611bd8565b905090565b6000808380549050036130cc5760009050613169565b600080848054905090505b808210156131205760006130eb8383613036565b9050846130f8878361365f565b60000154111561310a5780915061311a565b60018161311791906142d4565b92505b506130d7565b6000821180156131485750836131428660018561313d91906145ef565b61365f565b60000154145b156131635760018261315a91906145ef565b92505050613169565b81925050505b92915050565b6131798282613681565b6131876010611bc28361292f565b50505050565b613195610af3565b156131d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131cc9061564e565b60405180910390fd5b565b606060006131e48361384e565b90506000602067ffffffffffffffff81111561320357613202614623565b5b6040519080825280601f01601f1916602001820160405280156132355781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b6001816000016000828254019250508190555050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156132dd57600060039150915061337b565b600060018787878760405160008152602001604052604051613302949392919061566e565b6020604051602081039080840390855afa158015613324573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036133725760006001925092505061337b565b80600092509250505b94509492505050565b60006004811115613398576133976156b3565b5b8160048111156133ab576133aa6156b3565b5b03156134e757600160048111156133c5576133c46156b3565b5b8160048111156133d8576133d76156b3565b5b03613418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161340f9061572e565b60405180910390fd5b6002600481111561342c5761342b6156b3565b5b81600481111561343f5761343e6156b3565b5b0361347f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134769061579a565b60405180910390fd5b60036004811115613493576134926156b3565b5b8160048111156134a6576134a56156b3565b5b036134e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134dd9061582c565b60405180910390fd5b5b50565b60006134f46130a5565b9050806135038460000161389e565b10156135605782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b600080600090506000608084901c111561358757608083901c92506080810190505b6000604084901c11156135a257604083901c92506040810190505b6000602084901c11156135bd57602083901c92506020810190505b6000601084901c11156135d857601083901c92506010810190505b6000600884901c11156135f357600883901c92506008810190505b6000600484901c111561360e57600483901c92506004810190505b6000600284901c111561362957600283901c92506002810190505b6000600184901c111561363d576001810190505b80915050919050565b60008183106136555781613657565b825b905092915050565b60008083600052826020600020019050613678816138ea565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036136f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136e7906158be565b60405180910390fd5b6136fc82600083612c0a565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015613782576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161377990615950565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516138359190613b07565b60405180910390a361384983600084612c22565b505050565b60008060ff8360001c169050601f811115613895576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6000808280549050036138b457600090506138e5565b81600183805490506138c691906145ef565b815481106138d7576138d6614652565b5b906000526020600020015490505b919050565b6000819050919050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b8381101561396c578082015181840152602081019050613951565b60008484015250505050565b6000601f19601f8301169050919050565b600061399482613932565b61399e818561393d565b93506139ae81856020860161394e565b6139b781613978565b840191505092915050565b600060208201905081810360008301526139dc8184613989565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613a19826139ee565b9050919050565b613a2981613a0e565b8114613a3457600080fd5b50565b600081359050613a4681613a20565b92915050565b6000819050919050565b613a5f81613a4c565b8114613a6a57600080fd5b50565b600081359050613a7c81613a56565b92915050565b60008060408385031215613a9957613a986139e4565b5b6000613aa785828601613a37565b9250506020613ab885828601613a6d565b9150509250929050565b60008115159050919050565b613ad781613ac2565b82525050565b6000602082019050613af26000830184613ace565b92915050565b613b0181613a4c565b82525050565b6000602082019050613b1c6000830184613af8565b92915050565b600080600060608486031215613b3b57613b3a6139e4565b5b6000613b4986828701613a37565b9350506020613b5a86828701613a37565b9250506040613b6b86828701613a6d565b9150509250925092565b600060ff82169050919050565b613b8b81613b75565b82525050565b6000602082019050613ba66000830184613b82565b92915050565b6000819050919050565b613bbf81613bac565b82525050565b6000602082019050613bda6000830184613bb6565b92915050565b600060208284031215613bf657613bf56139e4565b5b6000613c0484828501613a37565b91505092915050565b613c1681613a0e565b82525050565b6000602082019050613c316000830184613c0d565b92915050565b6000613c4282613a0e565b9050919050565b613c5281613c37565b8114613c5d57600080fd5b50565b600081359050613c6f81613c49565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112613c9a57613c99613c75565b5b8235905067ffffffffffffffff811115613cb757613cb6613c7a565b5b602083019150836001820283011115613cd357613cd2613c7f565b5b9250929050565b600080600080600060808688031215613cf657613cf56139e4565b5b6000613d0488828901613c60565b9550506020613d1588828901613a37565b9450506040613d2688828901613a6d565b935050606086013567ffffffffffffffff811115613d4757613d466139e9565b5b613d5388828901613c84565b92509250509295509295909350565b600063ffffffff82169050919050565b613d7b81613d62565b82525050565b6000602082019050613d966000830184613d72565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b613dd181613d9c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613e0c81613a4c565b82525050565b6000613e1e8383613e03565b60208301905092915050565b6000602082019050919050565b6000613e4282613dd7565b613e4c8185613de2565b9350613e5783613df3565b8060005b83811015613e88578151613e6f8882613e12565b9750613e7a83613e2a565b925050600181019050613e5b565b5085935050505092915050565b600060e082019050613eaa600083018a613dc8565b8181036020830152613ebc8189613989565b90508181036040830152613ed08188613989565b9050613edf6060830187613af8565b613eec6080830186613c0d565b613ef960a0830185613bb6565b81810360c0830152613f0b8184613e37565b905098975050505050505050565b600060208284031215613f2f57613f2e6139e4565b5b6000613f3d84828501613a6d565b91505092915050565b600065ffffffffffff82169050919050565b613f6181613f46565b82525050565b6000602082019050613f7c6000830184613f58565b92915050565b613f8b81613b75565b8114613f9657600080fd5b50565b600081359050613fa881613f82565b92915050565b613fb781613bac565b8114613fc257600080fd5b50565b600081359050613fd481613fae565b92915050565b60008060008060008060c08789031215613ff757613ff66139e4565b5b600061400589828a01613a37565b965050602061401689828a01613a6d565b955050604061402789828a01613a6d565b945050606061403889828a01613f99565b935050608061404989828a01613fc5565b92505060a061405a89828a01613fc5565b9150509295509295509295565b600080600080600080600060e0888a031215614086576140856139e4565b5b60006140948a828b01613a37565b97505060206140a58a828b01613a37565b96505060406140b68a828b01613a6d565b95505060606140c78a828b01613a6d565b94505060806140d88a828b01613f99565b93505060a06140e98a828b01613fc5565b92505060c06140fa8a828b01613fc5565b91505092959891949750929550565b600080604083850312156141205761411f6139e4565b5b600061412e85828601613a37565b925050602061413f85828601613a37565b9150509250929050565b61415281613d62565b811461415d57600080fd5b50565b60008135905061416f81614149565b92915050565b6000806040838503121561418c5761418b6139e4565b5b600061419a85828601613a37565b92505060206141ab85828601614160565b9150509250929050565b6141be81613d62565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6141f5816141c4565b82525050565b60408201600082015161421160008501826141b5565b50602082015161422460208501826141ec565b50505050565b600060408201905061423f60008301846141fb565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061428c57607f821691505b60208210810361429f5761429e614245565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006142df82613a4c565b91506142ea83613a4c565b9250828201905080821115614302576143016142a5565b5b92915050565b7f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000600082015250565b600061433e60198361393d565b915061434982614308565b602082019050919050565b6000602082019050818103600083015261436d81614331565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000600082015250565b60006143aa601d8361393d565b91506143b582614374565b602082019050919050565b600060208201905081810360008301526143d98161439d565b9050919050565b7f4552433230466c6173684d696e743a20616d6f756e742065786365656473206d60008201527f6178466c6173684c6f616e000000000000000000000000000000000000000000602082015250565b600061443c602b8361393d565b9150614447826143e0565b604082019050919050565b6000602082019050818103600083015261446b8161442f565b9050919050565b600082825260208201905092915050565b82818337600083830152505050565b600061449e8385614472565b93506144ab838584614483565b6144b483613978565b840190509392505050565b600060a0820190506144d46000830189613c0d565b6144e16020830188613c0d565b6144ee6040830187613af8565b6144fb6060830186613af8565b818103608083015261450e818486614492565b9050979650505050505050565b60008151905061452a81613fae565b92915050565b600060208284031215614546576145456139e4565b5b60006145548482850161451b565b91505092915050565b7f4552433230466c6173684d696e743a20696e76616c69642072657475726e207660008201527f616c756500000000000000000000000000000000000000000000000000000000602082015250565b60006145b960248361393d565b91506145c48261455d565b604082019050919050565b600060208201905081810360008301526145e8816145ac565b9050919050565b60006145fa82613a4c565b915061460583613a4c565b925082820390508181111561461d5761461c6142a5565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006146dd60258361393d565b91506146e882614681565b604082019050919050565b6000602082019050818103600083015261470c816146d0565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b6000614749601d8361393d565b915061475482614713565b602082019050919050565b600060208201905081810360008301526147788161473c565b9050919050565b60006080820190506147946000830187613bb6565b6147a16020830186613c0d565b6147ae6040830185613af8565b6147bb6060830184613af8565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b60006147fa60198361393d565b9150614805826147c4565b602082019050919050565b60006020820190508181036000830152614829816147ed565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b6000614866601d8361393d565b915061487182614830565b602082019050919050565b6000602082019050818103600083015261489581614859565b9050919050565b600060c0820190506148b16000830189613bb6565b6148be6020830188613c0d565b6148cb6040830187613c0d565b6148d86060830186613af8565b6148e56080830185613af8565b6148f260a0830184613af8565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b6000614933601e8361393d565b915061493e826148fd565b602082019050919050565b6000602082019050818103600083015261496281614926565b9050919050565b7f4552433230466c6173684d696e743a2077726f6e6720746f6b656e0000000000600082015250565b600061499f601b8361393d565b91506149aa82614969565b602082019050919050565b600060208201905081810360008301526149ce81614992565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614a3160268361393d565b9150614a3c826149d5565b604082019050919050565b60006020820190508181036000830152614a6081614a24565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302614ac97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614a8c565b614ad38683614a8c565b95508019841693508086168417925050509392505050565b6000819050919050565b6000614b10614b0b614b0684613a4c565b614aeb565b613a4c565b9050919050565b6000819050919050565b614b2a83614af5565b614b3e614b3682614b17565b848454614a99565b825550505050565b600090565b614b53614b46565b614b5e818484614b21565b505050565b5b81811015614b8257614b77600082614b4b565b600181019050614b64565b5050565b601f821115614bc757614b9881614a67565b614ba184614a7c565b81016020851015614bb0578190505b614bc4614bbc85614a7c565b830182614b63565b50505b505050565b600082821c905092915050565b6000614bea60001984600802614bcc565b1980831691505092915050565b6000614c038383614bd9565b9150826002028217905092915050565b614c1c82613932565b67ffffffffffffffff811115614c3557614c34614623565b5b614c3f8254614274565b614c4a828285614b86565b600060209050601f831160018114614c7d5760008415614c6b578287015190505b614c758582614bf7565b865550614cdd565b601f198416614c8b86614a67565b60005b82811015614cb357848901518255600182019150602085019450602081019050614c8e565b86831015614cd05784890151614ccc601f891682614bd9565b8355505b6001600288020188555050505b505050505050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000614d4160308361393d565b9150614d4c82614ce5565b604082019050919050565b60006020820190508181036000830152614d7081614d34565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000614dad601f8361393d565b9150614db882614d77565b602082019050919050565b60006020820190508181036000830152614ddc81614da0565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000614e3f60278361393d565b9150614e4a82614de3565b604082019050919050565b60006020820190508181036000830152614e6e81614e32565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000614ed160268361393d565b9150614edc82614e75565b604082019050919050565b60006020820190508181036000830152614f0081614ec4565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b6000614f6360268361393d565b9150614f6e82614f07565b604082019050919050565b60006020820190508181036000830152614f9281614f56565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614ff560248361393d565b915061500082614f99565b604082019050919050565b6000602082019050818103600083015261502481614fe8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061508760228361393d565b91506150928261502b565b604082019050919050565b600060208201905081810360008301526150b68161507a565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006150f3601d8361393d565b91506150fe826150bd565b602082019050919050565b60006020820190508181036000830152615122816150e6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061518560258361393d565b915061519082615129565b604082019050919050565b600060208201905081810360008301526151b481615178565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061521760238361393d565b9150615222826151bb565b604082019050919050565b600060208201905081810360008301526152468161520a565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006152a960268361393d565b91506152b48261524d565b604082019050919050565b600060208201905081810360008301526152d88161529c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061531560208361393d565b9150615320826152df565b602082019050919050565b6000602082019050818103600083015261534481615308565b9050919050565b7f4552433230536e617073686f743a206964206973203000000000000000000000600082015250565b600061538160168361393d565b915061538c8261534b565b602082019050919050565b600060208201905081810360008301526153b081615374565b9050919050565b7f4552433230536e617073686f743a206e6f6e6578697374656e74206964000000600082015250565b60006153ed601d8361393d565b91506153f8826153b7565b602082019050919050565b6000602082019050818103600083015261541c816153e0565b9050919050565b600081519050919050565b6000819050602082019050919050565b600061544a8251613bac565b80915050919050565b600061545e82615423565b826154688461542e565b90506154738161543e565b925060208210156154b3576154ae7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802614a8c565b831692505b5050919050565b60006040820190506154cf6000830185613af8565b6154dc6020830184613af8565b9392505050565b600060a0820190506154f86000830188613bb6565b6155056020830187613bb6565b6155126040830186613bb6565b61551f6060830185613af8565b61552c6080830184613c0d565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061557082613a4c565b915061557b83613a4c565b92508261558b5761558a615536565b5b828204905092915050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b60006155cc60148361393d565b91506155d782615596565b602082019050919050565b600060208201905081810360008301526155fb816155bf565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b600061563860108361393d565b915061564382615602565b602082019050919050565b600060208201905081810360008301526156678161562b565b9050919050565b60006080820190506156836000830187613bb6565b6156906020830186613b82565b61569d6040830185613bb6565b6156aa6060830184613bb6565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b600061571860188361393d565b9150615723826156e2565b602082019050919050565b600060208201905081810360008301526157478161570b565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000615784601f8361393d565b915061578f8261574e565b602082019050919050565b600060208201905081810360008301526157b381615777565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b600061581660228361393d565b9150615821826157ba565b604082019050919050565b6000602082019050818103600083015261584581615809565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006158a860218361393d565b91506158b38261584c565b604082019050919050565b600060208201905081810360008301526158d78161589b565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600061593a60228361393d565b9150615945826158de565b604082019050919050565b600060208201905081810360008301526159698161592d565b905091905056fea2646970667358221220a1713165d97b274645ea6d727c78c9e266eb83bb17aa21e24232e70ec2c4fa5864736f6c63430008120033

Deployed bytecode

0x608060405234801561001057600080fd5b50600436106102275760003560e01c8063715018a611610130578063981b24d0116100b8578063d505accf1161007c578063d505accf146106be578063d9d98ce4146106da578063dd62ed3e1461070a578063f1127ed81461073a578063f2fde38b1461076a57610227565b8063981b24d0146105e25780639ab24eb014610612578063a457c2d714610642578063a9059cbb14610672578063c3cda520146106a257610227565b80638da5cb5b116100ff5780638da5cb5b1461054e5780638e539e8c1461056c57806391ddadf41461059c57806395d89b41146105ba5780639711715a146105d857610227565b8063715018a6146104e65780637ecebe00146104f05780638456cb591461052057806384b0196e1461052a57610227565b80634bf5d7e9116101b35780635c975abb116101825780635c975abb146104085780635cffe9de14610426578063613255ab146104565780636fcfff451461048657806370a08231146104b657610227565b80634bf5d7e91461036e5780634ee2cd7e1461038c578063587cde1e146103bc5780635c19a95c146103ec57610227565b8063313ce567116101fa578063313ce567146102c85780633644e515146102e657806339509351146103045780633a46b1a8146103345780633f4ba83a1461036457610227565b806306fdde031461022c578063095ea7b31461024a57806318160ddd1461027a57806323b872dd14610298575b600080fd5b610234610786565b60405161024191906139c2565b60405180910390f35b610264600480360381019061025f9190613a82565b610818565b6040516102719190613add565b60405180910390f35b61028261083b565b60405161028f9190613b07565b60405180910390f35b6102b260048036038101906102ad9190613b22565b610845565b6040516102bf9190613add565b60405180910390f35b6102d0610874565b6040516102dd9190613b91565b60405180910390f35b6102ee61087d565b6040516102fb9190613bc5565b60405180910390f35b61031e60048036038101906103199190613a82565b61088c565b60405161032b9190613add565b60405180910390f35b61034e60048036038101906103499190613a82565b6108c3565b60405161035b9190613b07565b60405180910390f35b61036c610966565b005b610376610978565b60405161038391906139c2565b60405180910390f35b6103a660048036038101906103a19190613a82565b610a06565b6040516103b39190613b07565b60405180910390f35b6103d660048036038101906103d19190613be0565b610a76565b6040516103e39190613c1c565b60405180910390f35b61040660048036038101906104019190613be0565b610adf565b005b610410610af3565b60405161041d9190613add565b60405180910390f35b610440600480360381019061043b9190613cda565b610b0a565b60405161044d9190613add565b60405180910390f35b610470600480360381019061046b9190613be0565b610cf7565b60405161047d9190613b07565b60405180910390f35b6104a0600480360381019061049b9190613be0565b610d6e565b6040516104ad9190613d81565b60405180910390f35b6104d060048036038101906104cb9190613be0565b610dc2565b6040516104dd9190613b07565b60405180910390f35b6104ee610e0a565b005b61050a60048036038101906105059190613be0565b610e1e565b6040516105179190613b07565b60405180910390f35b610528610e6e565b005b610532610e80565b6040516105459796959493929190613e95565b60405180910390f35b610556610f82565b6040516105639190613c1c565b60405180910390f35b61058660048036038101906105819190613f19565b610fac565b6040516105939190613b07565b60405180910390f35b6105a4611011565b6040516105b19190613f67565b60405180910390f35b6105c2611021565b6040516105cf91906139c2565b60405180910390f35b6105e06110b3565b005b6105fc60048036038101906105f79190613f19565b6110c6565b6040516106099190613b07565b60405180910390f35b61062c60048036038101906106279190613be0565b6110f7565b6040516106399190613b07565b60405180910390f35b61065c60048036038101906106579190613a82565b6111ff565b6040516106699190613add565b60405180910390f35b61068c60048036038101906106879190613a82565b611276565b6040516106999190613add565b60405180910390f35b6106bc60048036038101906106b79190613fda565b611299565b005b6106d860048036038101906106d39190614067565b61139d565b005b6106f460048036038101906106ef9190613a82565b6114df565b6040516107019190613b07565b60405180910390f35b610724600480360381019061071f9190614109565b611561565b6040516107319190613b07565b60405180910390f35b610754600480360381019061074f9190614175565b6115e8565b604051610761919061422a565b60405180910390f35b610784600480360381019061077f9190613be0565b6116f8565b005b60606003805461079590614274565b80601f01602080910402602001604051908101604052809291908181526020018280546107c190614274565b801561080e5780601f106107e35761010080835404028352916020019161080e565b820191906000526020600020905b8154815290600101906020018083116107f157829003601f168201915b5050505050905090565b600080610823611be6565b9050610830818585611bee565b600191505092915050565b6000600254905090565b600080610850611be6565b905061085d858285611db7565b610868858585611e43565b60019150509392505050565b60006012905090565b60006108876120b9565b905090565b600080610897611be6565b90506108b88185856108a98589611561565b6108b391906142d4565b611bee565b600191505092915050565b60006108cd611011565b65ffffffffffff168210610916576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090d90614354565b60405180910390fd5b61095e600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083612170565b905092915050565b61096e6122b8565b610976612336565b565b606043610983611011565b65ffffffffffff16146109cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c2906143c0565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000806000610a5384600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612399565b9150915081610a6a57610a6585610dc2565b610a6c565b805b9250505092915050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610af0610aea611be6565b8261248e565b50565b6000600960149054906101000a900460ff16905090565b6000610b1585610cf7565b841115610b57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4e90614452565b60405180910390fd5b6000610b6386866114df565b9050610b6f87866125a8565b7f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98773ffffffffffffffffffffffffffffffffffffffff166323e30c8b338989868a8a6040518763ffffffff1660e01b8152600401610bd3969594939291906144bf565b6020604051808303816000875af1158015610bf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c169190614530565b14610c56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4d906145cf565b60405180910390fd5b6000610c606125b6565b9050610c7888308489610c7391906142d4565b611db7565b6000821480610cb35750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b15610cd257610ccd888388610cc891906142d4565b6125bb565b610ce8565b610cdc88876125bb565b610ce7888284611e43565b5b60019250505095945050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610d33576000610d67565b610d3b61083b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610d6691906145ef565b5b9050919050565b6000610dbb600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611a2d565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e126122b8565b610e1c60006125c9565b565b6000610e67600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611bd8565b9050919050565b610e766122b8565b610e7e61268f565b565b600060608060008060006060610ec0600a7f53756761720000000000000000000000000000000000000000000000000000056126f290919063ffffffff16565b610ef4600b7f31000000000000000000000000000000000000000000000000000000000000016126f290919063ffffffff16565b46306000801b600067ffffffffffffffff811115610f1557610f14614623565b5b604051908082528060200260200182016040528015610f435781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610fb6611011565b65ffffffffffff168210610fff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff690614354565b60405180910390fd5b61100a601083612170565b9050919050565b600061101c43611b63565b905090565b60606004805461103090614274565b80601f016020809104026020016040519081016040528092919081815260200182805461105c90614274565b80156110a95780601f1061107e576101008083540402835291602001916110a9565b820191906000526020600020905b81548152906001019060200180831161108c57829003601f168201915b5050505050905090565b6110bb6122b8565b6110c36127a2565b50565b60008060006110d6846006612399565b91509150816110ec576110e761083b565b6110ee565b805b92505050919050565b600080600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600081146111d657600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600182038154811061119b5761119a614652565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166111d9565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b60008061120a611be6565b905060006112188286611561565b90508381101561125d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611254906146f3565b60405180910390fd5b61126a8286868403611bee565b60019250505092915050565b600080611281611be6565b905061128e818585611e43565b600191505092915050565b834211156112dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d39061475f565b60405180910390fd5b600061133e6113367fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf89898960405160200161131b949392919061477f565b604051602081830303815290604052805190602001206127f8565b858585612812565b90506113498161283d565b861461138a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138190614810565b60405180910390fd5b611394818861248e565b50505050505050565b834211156113e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d79061487c565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861140f8c61283d565b896040516020016114259695949392919061489c565b6040516020818303038152906040528051906020012090506000611448826127f8565b9050600061145882878787612812565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146114c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bf90614949565b60405180910390fd5b6114d38a8a8a611bee565b50505050505050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461154f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611546906149b5565b60405180910390fd5b611559838361289b565b905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6115f06138f4565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff168154811061164757611646614652565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b6117006122b8565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361176f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176690614a47565b60405180910390fd5b611778816125c9565b50565b600060208351101561179757611790836128a3565b90506117b9565b826117a1836117bf565b60000190816117b09190614c13565b5060ff60001b90505b92915050565b6000819050919050565b6117d38282611856565b6117db61290b565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661180161083b565b1115611842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183990614d57565b60405180910390fd5b61185060106119ac8361292f565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bc90614dc3565b60405180910390fd5b6118d160008383612c0a565b80600260008282546118e391906142d4565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119949190613b07565b60405180910390a36119a860008383612c22565b5050565b600081836119ba91906142d4565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016821115611a25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1c90614e55565b60405180910390fd5b819050919050565b600063ffffffff8016821115611a78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6f90614ee7565b60405180910390fd5b819050919050565b611a8b838383611bb8565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ad557611ac882612c32565b611ad0612c85565b611b33565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b1f57611b1283612c32565b611b1a612c85565b611b32565b611b2883612c32565b611b3182612c32565b5b5b505050565b611b43838383611bbd565b611b5e611b4f84610a76565b611b5884610a76565b83612c99565b505050565b600065ffffffffffff8016821115611bb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba790614f79565b60405180910390fd5b819050919050565b505050565b505050565b60008183611bd091906145ef565b905092915050565b600081600001549050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c549061500b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ccc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc39061509d565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611daa9190613b07565b60405180910390a3505050565b6000611dc38484611561565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611e3d5781811015611e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2690615109565b60405180910390fd5b611e3c8484848403611bee565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611eb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea99061519b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f189061522d565b60405180910390fd5b611f2c838383612c0a565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611fb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa9906152bf565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120a09190613b07565b60405180910390a36120b3848484612c22565b50505050565b60007f000000000000000000000000164bacb03f5dbe6622ec5c1345d3ed713c2bb81373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561213557507f0000000000000000000000000000000000000000000000000000000000000a4146145b15612162577fb48736fe172b82846b07085afd63cade17c18a9888f9ff472611b9f01844652a905061216d565b61216a612e92565b90505b90565b6000808380549050905060008082905060058311156121e657600061219484612f28565b8461219f91906145ef565b9050856121ac8883613021565b60000160009054906101000a900463ffffffff1663ffffffff1611156121d4578091506121e4565b6001816121e191906142d4565b92505b505b5b808210156122465760006121fb8383613036565b9050856122088883613021565b60000160009054906101000a900463ffffffff1663ffffffff16111561223057809150612240565b60018161223d91906142d4565b92505b506121e7565b6000811461228c5761225b8660018303613021565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661228f565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b6122c0611be6565b73ffffffffffffffffffffffffffffffffffffffff166122de610f82565b73ffffffffffffffffffffffffffffffffffffffff1614612334576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232b9061532b565b60405180910390fd5b565b61233e61305c565b6000600960146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa612382611be6565b60405161238f9190613c1c565b60405180910390a1565b600080600084116123df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123d690615397565b60405180910390fd5b6123e76130a5565b841115612429576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242090615403565b60405180910390fd5b600061244185856000016130b690919063ffffffff16565b90508360000180549050810361245e576000809250925050612487565b600184600101828154811061247657612475614652565b5b906000526020600020015492509250505b9250929050565b600061249983610a76565b905060006124a684610dc2565b905082600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46125a2828483612c99565b50505050565b6125b282826117c9565b5050565b600090565b6125c5828261316f565b5050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61269761318d565b6001600960146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586126db611be6565b6040516126e89190613c1c565b60405180910390a1565b606060ff60001b831461270f57612708836131d7565b905061279c565b81805461271b90614274565b80601f016020809104026020016040519081016040528092919081815260200182805461274790614274565b80156127945780601f1061276957610100808354040283529160200191612794565b820191906000526020600020905b81548152906001019060200180831161277757829003601f168201915b505050505090505b92915050565b60006127ae600861324b565b60006127b86130a5565b90507f8030e83b04d87bef53480e26263266d6ca66863aa8506aca6f2559d18aa1cb67816040516127e99190613b07565b60405180910390a18091505090565b600061280b6128056120b9565b83613261565b9050919050565b6000806000612823878787876132a2565b9150915061283081613384565b8192505050949350505050565b600080600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061288a81611bd8565b91506128958161324b565b50919050565b600092915050565b600080829050601f815111156128f057826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016128e791906139c2565b60405180910390fd5b8051816128fc90615453565b60001c1760001b915050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b60008060008580549050905060008082146129f5576129518760018403613021565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050612a31565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169350612a6684868863ffffffff16565b9250600082118015612a905750612a7b611011565b65ffffffffffff16816000015163ffffffff16145b15612b0157612a9e836119c2565b612aab8860018503613021565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550612c00565b866040518060400160405280612b25612b18611011565b65ffffffffffff16611a2d565b63ffffffff168152602001612b39866119c2565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b612c1261318d565b612c1d838383611a80565b505050565b612c2d838383611b38565b505050565b612c82600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612c7d83610dc2565b6134ea565b50565b612c976006612c9261083b565b6134ea565b565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612cd55750600081115b15612e8d57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612db357600080612d5c600f60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611bc28561292f565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612da89291906154ba565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612e8c57600080612e35600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206119ac8561292f565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612e819291906154ba565b60405180910390a250505b5b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7fb56a59cf26956084608d6d462cfef5d02767cd6644cfec732ffaaaf9d778116f7fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001612f0d9594939291906154e3565b60405160208183030381529060405280519060200120905090565b6000808203612f3a576000905061301c565b60006001612f4784613565565b901c6001901b90506001818481612f6157612f60615536565b5b048201901c90506001818481612f7a57612f79615536565b5b048201901c90506001818481612f9357612f92615536565b5b048201901c90506001818481612fac57612fab615536565b5b048201901c90506001818481612fc557612fc4615536565b5b048201901c90506001818481612fde57612fdd615536565b5b048201901c90506001818481612ff757612ff6615536565b5b048201901c90506130188182858161301257613011615536565b5b04613646565b9150505b919050565b60008260005281602060002001905092915050565b600060028284186130479190615565565b82841661305491906142d4565b905092915050565b613064610af3565b6130a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161309a906155e2565b60405180910390fd5b565b60006130b16008611bd8565b905090565b6000808380549050036130cc5760009050613169565b600080848054905090505b808210156131205760006130eb8383613036565b9050846130f8878361365f565b60000154111561310a5780915061311a565b60018161311791906142d4565b92505b506130d7565b6000821180156131485750836131428660018561313d91906145ef565b61365f565b60000154145b156131635760018261315a91906145ef565b92505050613169565b81925050505b92915050565b6131798282613681565b6131876010611bc28361292f565b50505050565b613195610af3565b156131d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131cc9061564e565b60405180910390fd5b565b606060006131e48361384e565b90506000602067ffffffffffffffff81111561320357613202614623565b5b6040519080825280601f01601f1916602001820160405280156132355781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b6001816000016000828254019250508190555050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156132dd57600060039150915061337b565b600060018787878760405160008152602001604052604051613302949392919061566e565b6020604051602081039080840390855afa158015613324573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036133725760006001925092505061337b565b80600092509250505b94509492505050565b60006004811115613398576133976156b3565b5b8160048111156133ab576133aa6156b3565b5b03156134e757600160048111156133c5576133c46156b3565b5b8160048111156133d8576133d76156b3565b5b03613418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161340f9061572e565b60405180910390fd5b6002600481111561342c5761342b6156b3565b5b81600481111561343f5761343e6156b3565b5b0361347f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134769061579a565b60405180910390fd5b60036004811115613493576134926156b3565b5b8160048111156134a6576134a56156b3565b5b036134e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134dd9061582c565b60405180910390fd5b5b50565b60006134f46130a5565b9050806135038460000161389e565b10156135605782600001819080600181540180825580915050600190039060005260206000200160009091909190915055826001018290806001815401808255809150506001900390600052602060002001600090919091909150555b505050565b600080600090506000608084901c111561358757608083901c92506080810190505b6000604084901c11156135a257604083901c92506040810190505b6000602084901c11156135bd57602083901c92506020810190505b6000601084901c11156135d857601083901c92506010810190505b6000600884901c11156135f357600883901c92506008810190505b6000600484901c111561360e57600483901c92506004810190505b6000600284901c111561362957600283901c92506002810190505b6000600184901c111561363d576001810190505b80915050919050565b60008183106136555781613657565b825b905092915050565b60008083600052826020600020019050613678816138ea565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036136f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136e7906158be565b60405180910390fd5b6136fc82600083612c0a565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015613782576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161377990615950565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516138359190613b07565b60405180910390a361384983600084612c22565b505050565b60008060ff8360001c169050601f811115613895576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6000808280549050036138b457600090506138e5565b81600183805490506138c691906145ef565b815481106138d7576138d6614652565b5b906000526020600020015490505b919050565b6000819050919050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b8381101561396c578082015181840152602081019050613951565b60008484015250505050565b6000601f19601f8301169050919050565b600061399482613932565b61399e818561393d565b93506139ae81856020860161394e565b6139b781613978565b840191505092915050565b600060208201905081810360008301526139dc8184613989565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613a19826139ee565b9050919050565b613a2981613a0e565b8114613a3457600080fd5b50565b600081359050613a4681613a20565b92915050565b6000819050919050565b613a5f81613a4c565b8114613a6a57600080fd5b50565b600081359050613a7c81613a56565b92915050565b60008060408385031215613a9957613a986139e4565b5b6000613aa785828601613a37565b9250506020613ab885828601613a6d565b9150509250929050565b60008115159050919050565b613ad781613ac2565b82525050565b6000602082019050613af26000830184613ace565b92915050565b613b0181613a4c565b82525050565b6000602082019050613b1c6000830184613af8565b92915050565b600080600060608486031215613b3b57613b3a6139e4565b5b6000613b4986828701613a37565b9350506020613b5a86828701613a37565b9250506040613b6b86828701613a6d565b9150509250925092565b600060ff82169050919050565b613b8b81613b75565b82525050565b6000602082019050613ba66000830184613b82565b92915050565b6000819050919050565b613bbf81613bac565b82525050565b6000602082019050613bda6000830184613bb6565b92915050565b600060208284031215613bf657613bf56139e4565b5b6000613c0484828501613a37565b91505092915050565b613c1681613a0e565b82525050565b6000602082019050613c316000830184613c0d565b92915050565b6000613c4282613a0e565b9050919050565b613c5281613c37565b8114613c5d57600080fd5b50565b600081359050613c6f81613c49565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112613c9a57613c99613c75565b5b8235905067ffffffffffffffff811115613cb757613cb6613c7a565b5b602083019150836001820283011115613cd357613cd2613c7f565b5b9250929050565b600080600080600060808688031215613cf657613cf56139e4565b5b6000613d0488828901613c60565b9550506020613d1588828901613a37565b9450506040613d2688828901613a6d565b935050606086013567ffffffffffffffff811115613d4757613d466139e9565b5b613d5388828901613c84565b92509250509295509295909350565b600063ffffffff82169050919050565b613d7b81613d62565b82525050565b6000602082019050613d966000830184613d72565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b613dd181613d9c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613e0c81613a4c565b82525050565b6000613e1e8383613e03565b60208301905092915050565b6000602082019050919050565b6000613e4282613dd7565b613e4c8185613de2565b9350613e5783613df3565b8060005b83811015613e88578151613e6f8882613e12565b9750613e7a83613e2a565b925050600181019050613e5b565b5085935050505092915050565b600060e082019050613eaa600083018a613dc8565b8181036020830152613ebc8189613989565b90508181036040830152613ed08188613989565b9050613edf6060830187613af8565b613eec6080830186613c0d565b613ef960a0830185613bb6565b81810360c0830152613f0b8184613e37565b905098975050505050505050565b600060208284031215613f2f57613f2e6139e4565b5b6000613f3d84828501613a6d565b91505092915050565b600065ffffffffffff82169050919050565b613f6181613f46565b82525050565b6000602082019050613f7c6000830184613f58565b92915050565b613f8b81613b75565b8114613f9657600080fd5b50565b600081359050613fa881613f82565b92915050565b613fb781613bac565b8114613fc257600080fd5b50565b600081359050613fd481613fae565b92915050565b60008060008060008060c08789031215613ff757613ff66139e4565b5b600061400589828a01613a37565b965050602061401689828a01613a6d565b955050604061402789828a01613a6d565b945050606061403889828a01613f99565b935050608061404989828a01613fc5565b92505060a061405a89828a01613fc5565b9150509295509295509295565b600080600080600080600060e0888a031215614086576140856139e4565b5b60006140948a828b01613a37565b97505060206140a58a828b01613a37565b96505060406140b68a828b01613a6d565b95505060606140c78a828b01613a6d565b94505060806140d88a828b01613f99565b93505060a06140e98a828b01613fc5565b92505060c06140fa8a828b01613fc5565b91505092959891949750929550565b600080604083850312156141205761411f6139e4565b5b600061412e85828601613a37565b925050602061413f85828601613a37565b9150509250929050565b61415281613d62565b811461415d57600080fd5b50565b60008135905061416f81614149565b92915050565b6000806040838503121561418c5761418b6139e4565b5b600061419a85828601613a37565b92505060206141ab85828601614160565b9150509250929050565b6141be81613d62565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6141f5816141c4565b82525050565b60408201600082015161421160008501826141b5565b50602082015161422460208501826141ec565b50505050565b600060408201905061423f60008301846141fb565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061428c57607f821691505b60208210810361429f5761429e614245565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006142df82613a4c565b91506142ea83613a4c565b9250828201905080821115614302576143016142a5565b5b92915050565b7f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000600082015250565b600061433e60198361393d565b915061434982614308565b602082019050919050565b6000602082019050818103600083015261436d81614331565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000600082015250565b60006143aa601d8361393d565b91506143b582614374565b602082019050919050565b600060208201905081810360008301526143d98161439d565b9050919050565b7f4552433230466c6173684d696e743a20616d6f756e742065786365656473206d60008201527f6178466c6173684c6f616e000000000000000000000000000000000000000000602082015250565b600061443c602b8361393d565b9150614447826143e0565b604082019050919050565b6000602082019050818103600083015261446b8161442f565b9050919050565b600082825260208201905092915050565b82818337600083830152505050565b600061449e8385614472565b93506144ab838584614483565b6144b483613978565b840190509392505050565b600060a0820190506144d46000830189613c0d565b6144e16020830188613c0d565b6144ee6040830187613af8565b6144fb6060830186613af8565b818103608083015261450e818486614492565b9050979650505050505050565b60008151905061452a81613fae565b92915050565b600060208284031215614546576145456139e4565b5b60006145548482850161451b565b91505092915050565b7f4552433230466c6173684d696e743a20696e76616c69642072657475726e207660008201527f616c756500000000000000000000000000000000000000000000000000000000602082015250565b60006145b960248361393d565b91506145c48261455d565b604082019050919050565b600060208201905081810360008301526145e8816145ac565b9050919050565b60006145fa82613a4c565b915061460583613a4c565b925082820390508181111561461d5761461c6142a5565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006146dd60258361393d565b91506146e882614681565b604082019050919050565b6000602082019050818103600083015261470c816146d0565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b6000614749601d8361393d565b915061475482614713565b602082019050919050565b600060208201905081810360008301526147788161473c565b9050919050565b60006080820190506147946000830187613bb6565b6147a16020830186613c0d565b6147ae6040830185613af8565b6147bb6060830184613af8565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b60006147fa60198361393d565b9150614805826147c4565b602082019050919050565b60006020820190508181036000830152614829816147ed565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b6000614866601d8361393d565b915061487182614830565b602082019050919050565b6000602082019050818103600083015261489581614859565b9050919050565b600060c0820190506148b16000830189613bb6565b6148be6020830188613c0d565b6148cb6040830187613c0d565b6148d86060830186613af8565b6148e56080830185613af8565b6148f260a0830184613af8565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b6000614933601e8361393d565b915061493e826148fd565b602082019050919050565b6000602082019050818103600083015261496281614926565b9050919050565b7f4552433230466c6173684d696e743a2077726f6e6720746f6b656e0000000000600082015250565b600061499f601b8361393d565b91506149aa82614969565b602082019050919050565b600060208201905081810360008301526149ce81614992565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614a3160268361393d565b9150614a3c826149d5565b604082019050919050565b60006020820190508181036000830152614a6081614a24565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302614ac97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614a8c565b614ad38683614a8c565b95508019841693508086168417925050509392505050565b6000819050919050565b6000614b10614b0b614b0684613a4c565b614aeb565b613a4c565b9050919050565b6000819050919050565b614b2a83614af5565b614b3e614b3682614b17565b848454614a99565b825550505050565b600090565b614b53614b46565b614b5e818484614b21565b505050565b5b81811015614b8257614b77600082614b4b565b600181019050614b64565b5050565b601f821115614bc757614b9881614a67565b614ba184614a7c565b81016020851015614bb0578190505b614bc4614bbc85614a7c565b830182614b63565b50505b505050565b600082821c905092915050565b6000614bea60001984600802614bcc565b1980831691505092915050565b6000614c038383614bd9565b9150826002028217905092915050565b614c1c82613932565b67ffffffffffffffff811115614c3557614c34614623565b5b614c3f8254614274565b614c4a828285614b86565b600060209050601f831160018114614c7d5760008415614c6b578287015190505b614c758582614bf7565b865550614cdd565b601f198416614c8b86614a67565b60005b82811015614cb357848901518255600182019150602085019450602081019050614c8e565b86831015614cd05784890151614ccc601f891682614bd9565b8355505b6001600288020188555050505b505050505050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000614d4160308361393d565b9150614d4c82614ce5565b604082019050919050565b60006020820190508181036000830152614d7081614d34565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000614dad601f8361393d565b9150614db882614d77565b602082019050919050565b60006020820190508181036000830152614ddc81614da0565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000614e3f60278361393d565b9150614e4a82614de3565b604082019050919050565b60006020820190508181036000830152614e6e81614e32565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000614ed160268361393d565b9150614edc82614e75565b604082019050919050565b60006020820190508181036000830152614f0081614ec4565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b6000614f6360268361393d565b9150614f6e82614f07565b604082019050919050565b60006020820190508181036000830152614f9281614f56565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614ff560248361393d565b915061500082614f99565b604082019050919050565b6000602082019050818103600083015261502481614fe8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061508760228361393d565b91506150928261502b565b604082019050919050565b600060208201905081810360008301526150b68161507a565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006150f3601d8361393d565b91506150fe826150bd565b602082019050919050565b60006020820190508181036000830152615122816150e6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061518560258361393d565b915061519082615129565b604082019050919050565b600060208201905081810360008301526151b481615178565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061521760238361393d565b9150615222826151bb565b604082019050919050565b600060208201905081810360008301526152468161520a565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006152a960268361393d565b91506152b48261524d565b604082019050919050565b600060208201905081810360008301526152d88161529c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061531560208361393d565b9150615320826152df565b602082019050919050565b6000602082019050818103600083015261534481615308565b9050919050565b7f4552433230536e617073686f743a206964206973203000000000000000000000600082015250565b600061538160168361393d565b915061538c8261534b565b602082019050919050565b600060208201905081810360008301526153b081615374565b9050919050565b7f4552433230536e617073686f743a206e6f6e6578697374656e74206964000000600082015250565b60006153ed601d8361393d565b91506153f8826153b7565b602082019050919050565b6000602082019050818103600083015261541c816153e0565b9050919050565b600081519050919050565b6000819050602082019050919050565b600061544a8251613bac565b80915050919050565b600061545e82615423565b826154688461542e565b90506154738161543e565b925060208210156154b3576154ae7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802614a8c565b831692505b5050919050565b60006040820190506154cf6000830185613af8565b6154dc6020830184613af8565b9392505050565b600060a0820190506154f86000830188613bb6565b6155056020830187613bb6565b6155126040830186613bb6565b61551f6060830185613af8565b61552c6080830184613c0d565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061557082613a4c565b915061557b83613a4c565b92508261558b5761558a615536565b5b828204905092915050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b60006155cc60148361393d565b91506155d782615596565b602082019050919050565b600060208201905081810360008301526155fb816155bf565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b600061563860108361393d565b915061564382615602565b602082019050919050565b600060208201905081810360008301526156678161562b565b9050919050565b60006080820190506156836000830187613bb6565b6156906020830186613b82565b61569d6040830185613bb6565b6156aa6060830184613bb6565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b600061571860188361393d565b9150615723826156e2565b602082019050919050565b600060208201905081810360008301526157478161570b565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000615784601f8361393d565b915061578f8261574e565b602082019050919050565b600060208201905081810360008301526157b381615777565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b600061581660228361393d565b9150615821826157ba565b604082019050919050565b6000602082019050818103600083015261584581615809565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006158a860218361393d565b91506158b38261584c565b604082019050919050565b600060208201905081810360008301526158d78161589b565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b600061593a60228361393d565b9150615945826158de565b604082019050919050565b600060208201905081810360008301526159698161592d565b905091905056fea2646970667358221220a1713165d97b274645ea6d727c78c9e266eb83bb17aa21e24232e70ec2c4fa5864736f6c63430008120033