Mainnet
Testnet
zmt (ZmT)

zmt (ZmT)

Overview

Max Total supply:
150
ZmT
Holders:
17 addresses
Total transfers:
19

Token info

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

Creation bytecode

0x6101606040523480156200001257600080fd5b506040518060400160405280600381526020017f7a6d740000000000000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f7a6d7400000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f5a6d5400000000000000000000000000000000000000000000000000000000008152508160039081620000fd919062001158565b5080600490816200010f919062001158565b5050506200012d6005836200022560201b6200182a1790919060201c565b6101208181525050620001506006826200022560201b6200182a1790919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a081815250506200018f6200028260201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250505050506200020a33620001e2620002df60201b60201c565b600a620001f09190620013cf565b6096620001fe919062001420565b620002e860201b60201c565b6200021f6000801b336200030360201b60201c565b62001a20565b60006020835110156200024b576200024383620003f560201b60201c565b90506200027c565b8262000262836200046260201b6200186e1760201c565b600001908162000273919062001158565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e051610100514630604051602001620002c4959493929190620014dc565b60405160208183030381529060405280519060200120905090565b60006012905090565b620002ff82826200046c60201b620018781760201c565b5050565b6200031582826200052a60201b60201c565b620003f1576001600c600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003966200059560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600080829050601f815111156200044557826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016200043c9190620015c8565b60405180910390fd5b80518162000453906200161e565b60001c1760001b915050919050565b6000819050919050565b6200048382826200059d60201b620019051760201c565b620004936200070a60201b60201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16620004c16200072e60201b60201c565b111562000505576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004fc9062001704565b60405180910390fd5b62000524600b6200073860201b62001a5b17836200075060201b60201c565b50505050565b6000600c600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200060f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006069062001776565b60405180910390fd5b620006236000838362000a7560201b60201c565b806002600082825462000637919062001798565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620006ea9190620017d3565b60405180910390a3620007066000838362000a7a60201b60201c565b5050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000600254905090565b6000818362000748919062001798565b905092915050565b600080600085805490509050600080821462000820576200077b876001840362000a9760201b60201c565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16815250506200085c565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1693506200088f84868860201c565b9250600082118015620008c25750620008ad62000aac60201b60201c565b65ffffffffffff16816000015163ffffffff16145b156200094a57620008de8362000ac960201b62001a711760201c565b620008f3886001850362000a9760201b60201c565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555062000a6b565b866040518060400160405280620009836200096a62000aac60201b60201c565b65ffffffffffff1662000b3760201b62001adc1760201c565b63ffffffff168152602001620009a48662000ac960201b62001a711760201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b505050565b62000a9283838362000b8d60201b62001b2f1760201c565b505050565b60008260005281602060002001905092915050565b600062000ac44362000bdd60201b62001b5a1760201c565b905090565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff801682111562000b2f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b269062001866565b60405180910390fd5b819050919050565b600063ffffffff801682111562000b85576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b7c90620018fe565b60405180910390fd5b819050919050565b62000ba583838362000c3560201b62001baf1760201c565b62000bd862000bba8462000c3a60201b60201c565b62000bcb8462000c3a60201b60201c565b8362000ca360201b60201c565b505050565b600065ffffffffffff801682111562000c2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c249062001996565b60405180910390fd5b819050919050565b505050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801562000ce05750600081115b1562000ec157600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000dd35760008062000d7a600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002062000ec660201b62001bb417856200075060201b60201c565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000dc8929190620019b8565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000ec05760008062000e67600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206200073860201b62001a5b17856200075060201b60201c565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000eb5929190620019b8565b60405180910390a250505b5b505050565b6000818362000ed69190620019e5565b905092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000f6057607f821691505b60208210810362000f765762000f7562000f18565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000fe07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000fa1565b62000fec868362000fa1565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062001039620010336200102d8462001004565b6200100e565b62001004565b9050919050565b6000819050919050565b620010558362001018565b6200106d620010648262001040565b84845462000fae565b825550505050565b600090565b6200108462001075565b620010918184846200104a565b505050565b5b81811015620010b957620010ad6000826200107a565b60018101905062001097565b5050565b601f8211156200110857620010d28162000f7c565b620010dd8462000f91565b81016020851015620010ed578190505b62001105620010fc8562000f91565b83018262001096565b50505b505050565b600082821c905092915050565b60006200112d600019846008026200110d565b1980831691505092915050565b60006200114883836200111a565b9150826002028217905092915050565b620011638262000ede565b67ffffffffffffffff8111156200117f576200117e62000ee9565b5b6200118b825462000f47565b62001198828285620010bd565b600060209050601f831160018114620011d05760008415620011bb578287015190505b620011c785826200113a565b86555062001237565b601f198416620011e08662000f7c565b60005b828110156200120a57848901518255600182019150602085019450602081019050620011e3565b868310156200122a578489015162001226601f8916826200111a565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620012cd57808604811115620012a557620012a46200123f565b5b6001851615620012b55780820291505b8081029050620012c5856200126e565b945062001285565b94509492505050565b600082620012e85760019050620013bb565b81620012f85760009050620013bb565b81600181146200131157600281146200131c5762001352565b6001915050620013bb565b60ff8411156200133157620013306200123f565b5b8360020a9150848211156200134b576200134a6200123f565b5b50620013bb565b5060208310610133831016604e8410600b84101617156200138c5782820a9050838111156200138657620013856200123f565b5b620013bb565b6200139b84848460016200127b565b92509050818404811115620013b557620013b46200123f565b5b81810290505b9392505050565b600060ff82169050919050565b6000620013dc8262001004565b9150620013e983620013c2565b9250620014187fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620012d6565b905092915050565b60006200142d8262001004565b91506200143a8362001004565b92508282026200144a8162001004565b915082820484148315176200146457620014636200123f565b5b5092915050565b6000819050919050565b62001480816200146b565b82525050565b620014918162001004565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620014c48262001497565b9050919050565b620014d681620014b7565b82525050565b600060a082019050620014f3600083018862001475565b62001502602083018762001475565b62001511604083018662001475565b62001520606083018562001486565b6200152f6080830184620014cb565b9695505050505050565b600082825260208201905092915050565b60005b838110156200156a5780820151818401526020810190506200154d565b60008484015250505050565b6000601f19601f8301169050919050565b6000620015948262000ede565b620015a0818562001539565b9350620015b28185602086016200154a565b620015bd8162001576565b840191505092915050565b60006020820190508181036000830152620015e4818462001587565b905092915050565b600081519050919050565b6000819050602082019050919050565b60006200161582516200146b565b80915050919050565b60006200162b82620015ec565b826200163784620015f7565b9050620016448162001607565b925060208210156200168757620016827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080262000fa1565b831692505b5050919050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000620016ec60308362001539565b9150620016f9826200168e565b604082019050919050565b600060208201905081810360008301526200171f81620016dd565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006200175e601f8362001539565b91506200176b8262001726565b602082019050919050565b6000602082019050818103600083015262001791816200174f565b9050919050565b6000620017a58262001004565b9150620017b28362001004565b9250828201905080821115620017cd57620017cc6200123f565b5b92915050565b6000602082019050620017ea600083018462001486565b92915050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b60006200184e60278362001539565b91506200185b82620017f0565b604082019050919050565b6000602082019050818103600083015262001881816200183f565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000620018e660268362001539565b9150620018f38262001888565b604082019050919050565b600060208201905081810360008301526200191981620018d7565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b60006200197e60268362001539565b91506200198b8262001920565b604082019050919050565b60006020820190508181036000830152620019b1816200196f565b9050919050565b6000604082019050620019cf600083018562001486565b620019de602083018462001486565b9392505050565b6000620019f28262001004565b9150620019ff8362001004565b925082820390508181111562001a1a5762001a196200123f565b5b92915050565b60805160a05160c05160e05161010051610120516101405161596362001a7b6000396000610fd401526000610fa001526000612dc101526000612da001526000612200015260006122560152600061227f01526159636000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c80636fcfff45116101305780639ab24eb0116100b8578063d505accf1161007c578063d505accf14610718578063d547741f14610734578063d9d98ce414610750578063dd62ed3e14610780578063f1127ed8146107b057610227565b80639ab24eb01461064e578063a217fddf1461067e578063a457c2d71461069c578063a9059cbb146106cc578063c3cda520146106fc57610227565b806384b0196e116100ff57806384b0196e1461058e5780638e539e8c146105b257806391d14854146105e257806391ddadf41461061257806395d89b411461063057610227565b80636fcfff45146104e257806370a082311461051257806379cc6790146105425780637ecebe001461055e57610227565b806336568abe116101b35780634bf5d7e9116101825780634bf5d7e914610418578063587cde1e146104365780635c19a95c146104665780635cffe9de14610482578063613255ab146104b257610227565b806336568abe14610380578063395093511461039c5780633a46b1a8146103cc57806342966c68146103fc57610227565b806323b872dd116101fa57806323b872dd146102c8578063248a9ca3146102f85780632f2ff15d14610328578063313ce567146103445780633644e5151461036257610227565b806301ffc9a71461022c57806306fdde031461025c578063095ea7b31461027a57806318160ddd146102aa575b600080fd5b61024660048036038101906102419190613896565b6107e0565b60405161025391906138de565b60405180910390f35b61026461085a565b6040516102719190613989565b60405180910390f35b610294600480360381019061028f9190613a3f565b6108ec565b6040516102a191906138de565b60405180910390f35b6102b261090f565b6040516102bf9190613a8e565b60405180910390f35b6102e260048036038101906102dd9190613aa9565b610919565b6040516102ef91906138de565b60405180910390f35b610312600480360381019061030d9190613b32565b610948565b60405161031f9190613b6e565b60405180910390f35b610342600480360381019061033d9190613b89565b610968565b005b61034c610989565b6040516103599190613be5565b60405180910390f35b61036a610992565b6040516103779190613b6e565b60405180910390f35b61039a60048036038101906103959190613b89565b6109a1565b005b6103b660048036038101906103b19190613a3f565b610a24565b6040516103c391906138de565b60405180910390f35b6103e660048036038101906103e19190613a3f565b610a5b565b6040516103f39190613a8e565b60405180910390f35b61041660048036038101906104119190613c00565b610afe565b005b610420610b12565b60405161042d9190613989565b60405180910390f35b610450600480360381019061044b9190613c2d565b610ba0565b60405161045d9190613c69565b60405180910390f35b610480600480360381019061047b9190613c2d565b610c09565b005b61049c60048036038101906104979190613d27565b610c1d565b6040516104a991906138de565b60405180910390f35b6104cc60048036038101906104c79190613c2d565b610e0a565b6040516104d99190613a8e565b60405180910390f35b6104fc60048036038101906104f79190613c2d565b610e81565b6040516105099190613dce565b60405180910390f35b61052c60048036038101906105279190613c2d565b610ed5565b6040516105399190613a8e565b60405180910390f35b61055c60048036038101906105579190613a3f565b610f1d565b005b61057860048036038101906105739190613c2d565b610f3d565b6040516105859190613a8e565b60405180910390f35b610596610f8d565b6040516105a99796959493929190613ee2565b60405180910390f35b6105cc60048036038101906105c79190613c00565b61108f565b6040516105d99190613a8e565b60405180910390f35b6105fc60048036038101906105f79190613b89565b6110f4565b60405161060991906138de565b60405180910390f35b61061a61115f565b6040516106279190613f87565b60405180910390f35b61063861116f565b6040516106459190613989565b60405180910390f35b61066860048036038101906106639190613c2d565b611201565b6040516106759190613a8e565b60405180910390f35b610686611309565b6040516106939190613b6e565b60405180910390f35b6106b660048036038101906106b19190613a3f565b611310565b6040516106c391906138de565b60405180910390f35b6106e660048036038101906106e19190613a3f565b611387565b6040516106f391906138de565b60405180910390f35b61071660048036038101906107119190613fce565b6113aa565b005b610732600480360381019061072d919061405b565b6114ae565b005b61074e60048036038101906107499190613b89565b6115f0565b005b61076a60048036038101906107659190613a3f565b611611565b6040516107779190613a8e565b60405180910390f35b61079a600480360381019061079591906140fd565b611693565b6040516107a79190613a8e565b60405180910390f35b6107ca60048036038101906107c59190614169565b61171a565b6040516107d7919061421e565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610853575061085282611bca565b5b9050919050565b60606003805461086990614268565b80601f016020809104026020016040519081016040528092919081815260200182805461089590614268565b80156108e25780601f106108b7576101008083540402835291602001916108e2565b820191906000526020600020905b8154815290600101906020018083116108c557829003601f168201915b5050505050905090565b6000806108f7611c34565b9050610904818585611c3c565b600191505092915050565b6000600254905090565b600080610924611c34565b9050610931858285611e05565b61093c858585611e91565b60019150509392505050565b6000600c6000838152602001908152602001600020600101549050919050565b61097182610948565b61097a81612107565b610984838361211b565b505050565b60006012905090565b600061099c6121fc565b905090565b6109a9611c34565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0d9061430b565b60405180910390fd5b610a2082826122b3565b5050565b600080610a2f611c34565b9050610a50818585610a418589611693565b610a4b919061435a565b611c3c565b600191505092915050565b6000610a6561115f565b65ffffffffffff168210610aae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa5906143da565b60405180910390fd5b610af6600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083612395565b905092915050565b610b0f610b09611c34565b826124dd565b50565b606043610b1d61115f565b65ffffffffffff1614610b65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5c90614446565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610c1a610c14611c34565b826124eb565b50565b6000610c2885610e0a565b841115610c6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c61906144d8565b60405180910390fd5b6000610c768686611611565b9050610c828786612605565b7f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98773ffffffffffffffffffffffffffffffffffffffff166323e30c8b338989868a8a6040518763ffffffff1660e01b8152600401610ce696959493929190614545565b6020604051808303816000875af1158015610d05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2991906145b6565b14610d69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6090614655565b60405180910390fd5b6000610d73612613565b9050610d8b88308489610d86919061435a565b611e05565b6000821480610dc65750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b15610de557610de0888388610ddb919061435a565b6124dd565b610dfb565b610def88876124dd565b610dfa888284611e91565b5b60019250505095945050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610e46576000610e7a565b610e4e61090f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610e799190614675565b5b9050919050565b6000610ece600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611adc565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f2f82610f29611c34565b83611e05565b610f3982826124dd565b5050565b6000610f86600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612618565b9050919050565b600060608060008060006060610fcd60057f000000000000000000000000000000000000000000000000000000000000000061262690919063ffffffff16565b61100160067f000000000000000000000000000000000000000000000000000000000000000061262690919063ffffffff16565b46306000801b600067ffffffffffffffff811115611022576110216146a9565b5b6040519080825280602002602001820160405280156110505781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b600061109961115f565b65ffffffffffff1682106110e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d9906143da565b60405180910390fd5b6110ed600b83612395565b9050919050565b6000600c600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600061116a43611b5a565b905090565b60606004805461117e90614268565b80601f01602080910402602001604051908101604052809291908181526020018280546111aa90614268565b80156111f75780601f106111cc576101008083540402835291602001916111f7565b820191906000526020600020905b8154815290600101906020018083116111da57829003601f168201915b5050505050905090565b600080600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600081146112e057600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060018203815481106112a5576112a46146d8565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166112e3565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b6000801b81565b60008061131b611c34565b905060006113298286611693565b90508381101561136e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136590614779565b60405180910390fd5b61137b8286868403611c3c565b60019250505092915050565b600080611392611c34565b905061139f818585611e91565b600191505092915050565b834211156113ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e4906147e5565b60405180910390fd5b600061144f6114477fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf89898960405160200161142c9493929190614805565b604051602081830303815290604052805190602001206126d6565b8585856126f0565b905061145a8161271b565b861461149b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149290614896565b60405180910390fd5b6114a581886124eb565b50505050505050565b834211156114f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e890614902565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886115208c61271b565b8960405160200161153696959493929190614922565b6040516020818303038152906040528051906020012090506000611559826126d6565b90506000611569828787876126f0565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146115d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d0906149cf565b60405180910390fd5b6115e48a8a8a611c3c565b50505050505050505050565b6115f982610948565b61160281612107565b61160c83836122b3565b505050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611681576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167890614a3b565b60405180910390fd5b61168b8383612779565b905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6117226137f6565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff1681548110611779576117786146d8565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b60006020835110156118465761183f83612781565b9050611868565b826118508361186e565b600001908161185f9190614c07565b5060ff60001b90505b92915050565b6000819050919050565b6118828282611905565b61188a6127e9565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166118b061090f565b11156118f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e890614d4b565b60405180910390fd5b6118ff600b611a5b8361280d565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611974576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196b90614db7565b60405180910390fd5b61198060008383612ae8565b8060026000828254611992919061435a565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a439190613a8e565b60405180910390a3611a5760008383612aed565b5050565b60008183611a69919061435a565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016821115611ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acb90614e49565b60405180910390fd5b819050919050565b600063ffffffff8016821115611b27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1e90614edb565b60405180910390fd5b819050919050565b611b3a838383611baf565b611b55611b4684610ba0565b611b4f84610ba0565b83612afd565b505050565b600065ffffffffffff8016821115611ba7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9e90614f6d565b60405180910390fd5b819050919050565b505050565b60008183611bc29190614675565b905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca290614fff565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1190615091565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611df89190613a8e565b60405180910390a3505050565b6000611e118484611693565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611e8b5781811015611e7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e74906150fd565b60405180910390fd5b611e8a8484848403611c3c565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef79061518f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6690615221565b60405180910390fd5b611f7a838383612ae8565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612000576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff7906152b3565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120ee9190613a8e565b60405180910390a3612101848484612aed565b50505050565b61211881612113611c34565b612cf6565b50565b61212582826110f4565b6121f8576001600c600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061219d611c34565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561227857507f000000000000000000000000000000000000000000000000000000000000000046145b156122a5577f000000000000000000000000000000000000000000000000000000000000000090506122b0565b6122ad612d7b565b90505b90565b6122bd82826110f4565b15612391576000600c600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550612336611c34565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b60008083805490509050600080829050600583111561240b5760006123b984612e11565b846123c49190614675565b9050856123d18883612f0a565b60000160009054906101000a900463ffffffff1663ffffffff1611156123f957809150612409565b600181612406919061435a565b92505b505b5b8082101561246b5760006124208383612f1f565b90508561242d8883612f0a565b60000160009054906101000a900463ffffffff1663ffffffff16111561245557809150612465565b600181612462919061435a565b92505b5061240c565b600081146124b1576124808660018303612f0a565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166124b4565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b6124e78282612f45565b5050565b60006124f683610ba0565b9050600061250384610ed5565b905082600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46125ff828483612afd565b50505050565b61260f8282611878565b5050565b600090565b600081600001549050919050565b606060ff60001b83146126435761263c83612f63565b90506126d0565b81805461264f90614268565b80601f016020809104026020016040519081016040528092919081815260200182805461267b90614268565b80156126c85780601f1061269d576101008083540402835291602001916126c8565b820191906000526020600020905b8154815290600101906020018083116126ab57829003601f168201915b505050505090505b92915050565b60006126e96126e36121fc565b83612fd7565b9050919050565b600080600061270187878787613018565b9150915061270e816130fa565b8192505050949350505050565b600080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061276881612618565b915061277381613260565b50919050565b600092915050565b600080829050601f815111156127ce57826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016127c59190613989565b60405180910390fd5b8051816127da90615303565b60001c1760001b915050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b60008060008580549050905060008082146128d35761282f8760018403612f0a565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505061290f565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935061294484868863ffffffff16565b925060008211801561296e575061295961115f565b65ffffffffffff16816000015163ffffffff16145b156129df5761297c83611a71565b6129898860018503612f0a565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550612ade565b866040518060400160405280612a036129f661115f565b65ffffffffffff16611adc565b63ffffffff168152602001612a1786611a71565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b505050565b612af8838383611b2f565b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612b395750600081115b15612cf157600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612c1757600080612bc0600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611bb48561280d565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612c0c92919061536a565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612cf057600080612c99600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611a5b8561280d565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612ce592919061536a565b60405180910390a250505b5b505050565b612d0082826110f4565b612d7757612d0d81613276565b612d1b8360001c60206132a3565b604051602001612d2c929190615467565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d6e9190613989565b60405180910390fd5b5050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001612df69594939291906154a1565b60405160208183030381529060405280519060200120905090565b6000808203612e235760009050612f05565b60006001612e30846134df565b901c6001901b90506001818481612e4a57612e496154f4565b5b048201901c90506001818481612e6357612e626154f4565b5b048201901c90506001818481612e7c57612e7b6154f4565b5b048201901c90506001818481612e9557612e946154f4565b5b048201901c90506001818481612eae57612ead6154f4565b5b048201901c90506001818481612ec757612ec66154f4565b5b048201901c90506001818481612ee057612edf6154f4565b5b048201901c9050612f0181828581612efb57612efa6154f4565b5b046135c0565b9150505b919050565b60008260005281602060002001905092915050565b60006002828418612f309190615523565b828416612f3d919061435a565b905092915050565b612f4f82826135d9565b612f5d600b611bb48361280d565b50505050565b60606000612f70836137a6565b90506000602067ffffffffffffffff811115612f8f57612f8e6146a9565b5b6040519080825280601f01601f191660200182016040528015612fc15781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156130535760006003915091506130f1565b6000600187878787604051600081526020016040526040516130789493929190615554565b6020604051602081039080840390855afa15801561309a573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036130e8576000600192509250506130f1565b80600092509250505b94509492505050565b6000600481111561310e5761310d615599565b5b81600481111561312157613120615599565b5b031561325d576001600481111561313b5761313a615599565b5b81600481111561314e5761314d615599565b5b0361318e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161318590615614565b60405180910390fd5b600260048111156131a2576131a1615599565b5b8160048111156131b5576131b4615599565b5b036131f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131ec90615680565b60405180910390fd5b6003600481111561320957613208615599565b5b81600481111561321c5761321b615599565b5b0361325c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161325390615712565b60405180910390fd5b5b50565b6001816000016000828254019250508190555050565b606061329c8273ffffffffffffffffffffffffffffffffffffffff16601460ff166132a3565b9050919050565b6060600060028360026132b69190615732565b6132c0919061435a565b67ffffffffffffffff8111156132d9576132d86146a9565b5b6040519080825280601f01601f19166020018201604052801561330b5781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110613343576133426146d8565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106133a7576133a66146d8565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026133e79190615732565b6133f1919061435a565b90505b6001811115613491577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110613433576134326146d8565b5b1a60f81b82828151811061344a576134496146d8565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061348a90615774565b90506133f4565b50600084146134d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134cc906157e9565b60405180910390fd5b8091505092915050565b600080600090506000608084901c111561350157608083901c92506080810190505b6000604084901c111561351c57604083901c92506040810190505b6000602084901c111561353757602083901c92506020810190505b6000601084901c111561355257601083901c92506010810190505b6000600884901c111561356d57600883901c92506008810190505b6000600484901c111561358857600483901c92506004810190505b6000600284901c11156135a357600283901c92506002810190505b6000600184901c11156135b7576001810190505b80915050919050565b60008183106135cf57816135d1565b825b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613648576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161363f9061587b565b60405180910390fd5b61365482600083612ae8565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156136da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136d19061590d565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161378d9190613a8e565b60405180910390a36137a183600084612aed565b505050565b60008060ff8360001c169050601f8111156137ed576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6138738161383e565b811461387e57600080fd5b50565b6000813590506138908161386a565b92915050565b6000602082840312156138ac576138ab613834565b5b60006138ba84828501613881565b91505092915050565b60008115159050919050565b6138d8816138c3565b82525050565b60006020820190506138f360008301846138cf565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613933578082015181840152602081019050613918565b60008484015250505050565b6000601f19601f8301169050919050565b600061395b826138f9565b6139658185613904565b9350613975818560208601613915565b61397e8161393f565b840191505092915050565b600060208201905081810360008301526139a38184613950565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006139d6826139ab565b9050919050565b6139e6816139cb565b81146139f157600080fd5b50565b600081359050613a03816139dd565b92915050565b6000819050919050565b613a1c81613a09565b8114613a2757600080fd5b50565b600081359050613a3981613a13565b92915050565b60008060408385031215613a5657613a55613834565b5b6000613a64858286016139f4565b9250506020613a7585828601613a2a565b9150509250929050565b613a8881613a09565b82525050565b6000602082019050613aa36000830184613a7f565b92915050565b600080600060608486031215613ac257613ac1613834565b5b6000613ad0868287016139f4565b9350506020613ae1868287016139f4565b9250506040613af286828701613a2a565b9150509250925092565b6000819050919050565b613b0f81613afc565b8114613b1a57600080fd5b50565b600081359050613b2c81613b06565b92915050565b600060208284031215613b4857613b47613834565b5b6000613b5684828501613b1d565b91505092915050565b613b6881613afc565b82525050565b6000602082019050613b836000830184613b5f565b92915050565b60008060408385031215613ba057613b9f613834565b5b6000613bae85828601613b1d565b9250506020613bbf858286016139f4565b9150509250929050565b600060ff82169050919050565b613bdf81613bc9565b82525050565b6000602082019050613bfa6000830184613bd6565b92915050565b600060208284031215613c1657613c15613834565b5b6000613c2484828501613a2a565b91505092915050565b600060208284031215613c4357613c42613834565b5b6000613c51848285016139f4565b91505092915050565b613c63816139cb565b82525050565b6000602082019050613c7e6000830184613c5a565b92915050565b6000613c8f826139cb565b9050919050565b613c9f81613c84565b8114613caa57600080fd5b50565b600081359050613cbc81613c96565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112613ce757613ce6613cc2565b5b8235905067ffffffffffffffff811115613d0457613d03613cc7565b5b602083019150836001820283011115613d2057613d1f613ccc565b5b9250929050565b600080600080600060808688031215613d4357613d42613834565b5b6000613d5188828901613cad565b9550506020613d62888289016139f4565b9450506040613d7388828901613a2a565b935050606086013567ffffffffffffffff811115613d9457613d93613839565b5b613da088828901613cd1565b92509250509295509295909350565b600063ffffffff82169050919050565b613dc881613daf565b82525050565b6000602082019050613de36000830184613dbf565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b613e1e81613de9565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613e5981613a09565b82525050565b6000613e6b8383613e50565b60208301905092915050565b6000602082019050919050565b6000613e8f82613e24565b613e998185613e2f565b9350613ea483613e40565b8060005b83811015613ed5578151613ebc8882613e5f565b9750613ec783613e77565b925050600181019050613ea8565b5085935050505092915050565b600060e082019050613ef7600083018a613e15565b8181036020830152613f098189613950565b90508181036040830152613f1d8188613950565b9050613f2c6060830187613a7f565b613f396080830186613c5a565b613f4660a0830185613b5f565b81810360c0830152613f588184613e84565b905098975050505050505050565b600065ffffffffffff82169050919050565b613f8181613f66565b82525050565b6000602082019050613f9c6000830184613f78565b92915050565b613fab81613bc9565b8114613fb657600080fd5b50565b600081359050613fc881613fa2565b92915050565b60008060008060008060c08789031215613feb57613fea613834565b5b6000613ff989828a016139f4565b965050602061400a89828a01613a2a565b955050604061401b89828a01613a2a565b945050606061402c89828a01613fb9565b935050608061403d89828a01613b1d565b92505060a061404e89828a01613b1d565b9150509295509295509295565b600080600080600080600060e0888a03121561407a57614079613834565b5b60006140888a828b016139f4565b97505060206140998a828b016139f4565b96505060406140aa8a828b01613a2a565b95505060606140bb8a828b01613a2a565b94505060806140cc8a828b01613fb9565b93505060a06140dd8a828b01613b1d565b92505060c06140ee8a828b01613b1d565b91505092959891949750929550565b6000806040838503121561411457614113613834565b5b6000614122858286016139f4565b9250506020614133858286016139f4565b9150509250929050565b61414681613daf565b811461415157600080fd5b50565b6000813590506141638161413d565b92915050565b600080604083850312156141805761417f613834565b5b600061418e858286016139f4565b925050602061419f85828601614154565b9150509250929050565b6141b281613daf565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6141e9816141b8565b82525050565b60408201600082015161420560008501826141a9565b50602082015161421860208501826141e0565b50505050565b600060408201905061423360008301846141ef565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061428057607f821691505b60208210810361429357614292614239565b5b50919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b60006142f5602f83613904565b915061430082614299565b604082019050919050565b60006020820190508181036000830152614324816142e8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061436582613a09565b915061437083613a09565b92508282019050808211156143885761438761432b565b5b92915050565b7f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000600082015250565b60006143c4601983613904565b91506143cf8261438e565b602082019050919050565b600060208201905081810360008301526143f3816143b7565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000600082015250565b6000614430601d83613904565b915061443b826143fa565b602082019050919050565b6000602082019050818103600083015261445f81614423565b9050919050565b7f4552433230466c6173684d696e743a20616d6f756e742065786365656473206d60008201527f6178466c6173684c6f616e000000000000000000000000000000000000000000602082015250565b60006144c2602b83613904565b91506144cd82614466565b604082019050919050565b600060208201905081810360008301526144f1816144b5565b9050919050565b600082825260208201905092915050565b82818337600083830152505050565b600061452483856144f8565b9350614531838584614509565b61453a8361393f565b840190509392505050565b600060a08201905061455a6000830189613c5a565b6145676020830188613c5a565b6145746040830187613a7f565b6145816060830186613a7f565b8181036080830152614594818486614518565b9050979650505050505050565b6000815190506145b081613b06565b92915050565b6000602082840312156145cc576145cb613834565b5b60006145da848285016145a1565b91505092915050565b7f4552433230466c6173684d696e743a20696e76616c69642072657475726e207660008201527f616c756500000000000000000000000000000000000000000000000000000000602082015250565b600061463f602483613904565b915061464a826145e3565b604082019050919050565b6000602082019050818103600083015261466e81614632565b9050919050565b600061468082613a09565b915061468b83613a09565b92508282039050818111156146a3576146a261432b565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000614763602583613904565b915061476e82614707565b604082019050919050565b6000602082019050818103600083015261479281614756565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b60006147cf601d83613904565b91506147da82614799565b602082019050919050565b600060208201905081810360008301526147fe816147c2565b9050919050565b600060808201905061481a6000830187613b5f565b6148276020830186613c5a565b6148346040830185613a7f565b6148416060830184613a7f565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b6000614880601983613904565b915061488b8261484a565b602082019050919050565b600060208201905081810360008301526148af81614873565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b60006148ec601d83613904565b91506148f7826148b6565b602082019050919050565b6000602082019050818103600083015261491b816148df565b9050919050565b600060c0820190506149376000830189613b5f565b6149446020830188613c5a565b6149516040830187613c5a565b61495e6060830186613a7f565b61496b6080830185613a7f565b61497860a0830184613a7f565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b60006149b9601e83613904565b91506149c482614983565b602082019050919050565b600060208201905081810360008301526149e8816149ac565b9050919050565b7f4552433230466c6173684d696e743a2077726f6e6720746f6b656e0000000000600082015250565b6000614a25601b83613904565b9150614a30826149ef565b602082019050919050565b60006020820190508181036000830152614a5481614a18565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302614abd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614a80565b614ac78683614a80565b95508019841693508086168417925050509392505050565b6000819050919050565b6000614b04614aff614afa84613a09565b614adf565b613a09565b9050919050565b6000819050919050565b614b1e83614ae9565b614b32614b2a82614b0b565b848454614a8d565b825550505050565b600090565b614b47614b3a565b614b52818484614b15565b505050565b5b81811015614b7657614b6b600082614b3f565b600181019050614b58565b5050565b601f821115614bbb57614b8c81614a5b565b614b9584614a70565b81016020851015614ba4578190505b614bb8614bb085614a70565b830182614b57565b50505b505050565b600082821c905092915050565b6000614bde60001984600802614bc0565b1980831691505092915050565b6000614bf78383614bcd565b9150826002028217905092915050565b614c10826138f9565b67ffffffffffffffff811115614c2957614c286146a9565b5b614c338254614268565b614c3e828285614b7a565b600060209050601f831160018114614c715760008415614c5f578287015190505b614c698582614beb565b865550614cd1565b601f198416614c7f86614a5b565b60005b82811015614ca757848901518255600182019150602085019450602081019050614c82565b86831015614cc45784890151614cc0601f891682614bcd565b8355505b6001600288020188555050505b505050505050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000614d35603083613904565b9150614d4082614cd9565b604082019050919050565b60006020820190508181036000830152614d6481614d28565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000614da1601f83613904565b9150614dac82614d6b565b602082019050919050565b60006020820190508181036000830152614dd081614d94565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000614e33602783613904565b9150614e3e82614dd7565b604082019050919050565b60006020820190508181036000830152614e6281614e26565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000614ec5602683613904565b9150614ed082614e69565b604082019050919050565b60006020820190508181036000830152614ef481614eb8565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b6000614f57602683613904565b9150614f6282614efb565b604082019050919050565b60006020820190508181036000830152614f8681614f4a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614fe9602483613904565b9150614ff482614f8d565b604082019050919050565b6000602082019050818103600083015261501881614fdc565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061507b602283613904565b91506150868261501f565b604082019050919050565b600060208201905081810360008301526150aa8161506e565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006150e7601d83613904565b91506150f2826150b1565b602082019050919050565b60006020820190508181036000830152615116816150da565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000615179602583613904565b91506151848261511d565b604082019050919050565b600060208201905081810360008301526151a88161516c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061520b602383613904565b9150615216826151af565b604082019050919050565b6000602082019050818103600083015261523a816151fe565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061529d602683613904565b91506152a882615241565b604082019050919050565b600060208201905081810360008301526152cc81615290565b9050919050565b600081519050919050565b6000819050602082019050919050565b60006152fa8251613afc565b80915050919050565b600061530e826152d3565b82615318846152de565b9050615323816152ee565b925060208210156153635761535e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802614a80565b831692505b5050919050565b600060408201905061537f6000830185613a7f565b61538c6020830184613a7f565b9392505050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b60006153d4601783615393565b91506153df8261539e565b601782019050919050565b60006153f5826138f9565b6153ff8185615393565b935061540f818560208601613915565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000615451601183615393565b915061545c8261541b565b601182019050919050565b6000615472826153c7565b915061547e82856153ea565b915061548982615444565b915061549582846153ea565b91508190509392505050565b600060a0820190506154b66000830188613b5f565b6154c36020830187613b5f565b6154d06040830186613b5f565b6154dd6060830185613a7f565b6154ea6080830184613c5a565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061552e82613a09565b915061553983613a09565b925082615549576155486154f4565b5b828204905092915050565b60006080820190506155696000830187613b5f565b6155766020830186613bd6565b6155836040830185613b5f565b6155906060830184613b5f565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b60006155fe601883613904565b9150615609826155c8565b602082019050919050565b6000602082019050818103600083015261562d816155f1565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b600061566a601f83613904565b915061567582615634565b602082019050919050565b600060208201905081810360008301526156998161565d565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006156fc602283613904565b9150615707826156a0565b604082019050919050565b6000602082019050818103600083015261572b816156ef565b9050919050565b600061573d82613a09565b915061574883613a09565b925082820261575681613a09565b9150828204841483151761576d5761576c61432b565b5b5092915050565b600061577f82613a09565b9150600082036157925761579161432b565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b60006157d3602083613904565b91506157de8261579d565b602082019050919050565b60006020820190508181036000830152615802816157c6565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000615865602183613904565b915061587082615809565b604082019050919050565b6000602082019050818103600083015261589481615858565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006158f7602283613904565b91506159028261589b565b604082019050919050565b60006020820190508181036000830152615926816158ea565b905091905056fea264697066735822122090af838072e75d671703272173264a84f4759c10ed4903994b7ed4dcbcaf51e764736f6c63430008120033

Deployed bytecode

0x608060405234801561001057600080fd5b50600436106102275760003560e01c80636fcfff45116101305780639ab24eb0116100b8578063d505accf1161007c578063d505accf14610718578063d547741f14610734578063d9d98ce414610750578063dd62ed3e14610780578063f1127ed8146107b057610227565b80639ab24eb01461064e578063a217fddf1461067e578063a457c2d71461069c578063a9059cbb146106cc578063c3cda520146106fc57610227565b806384b0196e116100ff57806384b0196e1461058e5780638e539e8c146105b257806391d14854146105e257806391ddadf41461061257806395d89b411461063057610227565b80636fcfff45146104e257806370a082311461051257806379cc6790146105425780637ecebe001461055e57610227565b806336568abe116101b35780634bf5d7e9116101825780634bf5d7e914610418578063587cde1e146104365780635c19a95c146104665780635cffe9de14610482578063613255ab146104b257610227565b806336568abe14610380578063395093511461039c5780633a46b1a8146103cc57806342966c68146103fc57610227565b806323b872dd116101fa57806323b872dd146102c8578063248a9ca3146102f85780632f2ff15d14610328578063313ce567146103445780633644e5151461036257610227565b806301ffc9a71461022c57806306fdde031461025c578063095ea7b31461027a57806318160ddd146102aa575b600080fd5b61024660048036038101906102419190613896565b6107e0565b60405161025391906138de565b60405180910390f35b61026461085a565b6040516102719190613989565b60405180910390f35b610294600480360381019061028f9190613a3f565b6108ec565b6040516102a191906138de565b60405180910390f35b6102b261090f565b6040516102bf9190613a8e565b60405180910390f35b6102e260048036038101906102dd9190613aa9565b610919565b6040516102ef91906138de565b60405180910390f35b610312600480360381019061030d9190613b32565b610948565b60405161031f9190613b6e565b60405180910390f35b610342600480360381019061033d9190613b89565b610968565b005b61034c610989565b6040516103599190613be5565b60405180910390f35b61036a610992565b6040516103779190613b6e565b60405180910390f35b61039a60048036038101906103959190613b89565b6109a1565b005b6103b660048036038101906103b19190613a3f565b610a24565b6040516103c391906138de565b60405180910390f35b6103e660048036038101906103e19190613a3f565b610a5b565b6040516103f39190613a8e565b60405180910390f35b61041660048036038101906104119190613c00565b610afe565b005b610420610b12565b60405161042d9190613989565b60405180910390f35b610450600480360381019061044b9190613c2d565b610ba0565b60405161045d9190613c69565b60405180910390f35b610480600480360381019061047b9190613c2d565b610c09565b005b61049c60048036038101906104979190613d27565b610c1d565b6040516104a991906138de565b60405180910390f35b6104cc60048036038101906104c79190613c2d565b610e0a565b6040516104d99190613a8e565b60405180910390f35b6104fc60048036038101906104f79190613c2d565b610e81565b6040516105099190613dce565b60405180910390f35b61052c60048036038101906105279190613c2d565b610ed5565b6040516105399190613a8e565b60405180910390f35b61055c60048036038101906105579190613a3f565b610f1d565b005b61057860048036038101906105739190613c2d565b610f3d565b6040516105859190613a8e565b60405180910390f35b610596610f8d565b6040516105a99796959493929190613ee2565b60405180910390f35b6105cc60048036038101906105c79190613c00565b61108f565b6040516105d99190613a8e565b60405180910390f35b6105fc60048036038101906105f79190613b89565b6110f4565b60405161060991906138de565b60405180910390f35b61061a61115f565b6040516106279190613f87565b60405180910390f35b61063861116f565b6040516106459190613989565b60405180910390f35b61066860048036038101906106639190613c2d565b611201565b6040516106759190613a8e565b60405180910390f35b610686611309565b6040516106939190613b6e565b60405180910390f35b6106b660048036038101906106b19190613a3f565b611310565b6040516106c391906138de565b60405180910390f35b6106e660048036038101906106e19190613a3f565b611387565b6040516106f391906138de565b60405180910390f35b61071660048036038101906107119190613fce565b6113aa565b005b610732600480360381019061072d919061405b565b6114ae565b005b61074e60048036038101906107499190613b89565b6115f0565b005b61076a60048036038101906107659190613a3f565b611611565b6040516107779190613a8e565b60405180910390f35b61079a600480360381019061079591906140fd565b611693565b6040516107a79190613a8e565b60405180910390f35b6107ca60048036038101906107c59190614169565b61171a565b6040516107d7919061421e565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610853575061085282611bca565b5b9050919050565b60606003805461086990614268565b80601f016020809104026020016040519081016040528092919081815260200182805461089590614268565b80156108e25780601f106108b7576101008083540402835291602001916108e2565b820191906000526020600020905b8154815290600101906020018083116108c557829003601f168201915b5050505050905090565b6000806108f7611c34565b9050610904818585611c3c565b600191505092915050565b6000600254905090565b600080610924611c34565b9050610931858285611e05565b61093c858585611e91565b60019150509392505050565b6000600c6000838152602001908152602001600020600101549050919050565b61097182610948565b61097a81612107565b610984838361211b565b505050565b60006012905090565b600061099c6121fc565b905090565b6109a9611c34565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0d9061430b565b60405180910390fd5b610a2082826122b3565b5050565b600080610a2f611c34565b9050610a50818585610a418589611693565b610a4b919061435a565b611c3c565b600191505092915050565b6000610a6561115f565b65ffffffffffff168210610aae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa5906143da565b60405180910390fd5b610af6600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083612395565b905092915050565b610b0f610b09611c34565b826124dd565b50565b606043610b1d61115f565b65ffffffffffff1614610b65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5c90614446565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610c1a610c14611c34565b826124eb565b50565b6000610c2885610e0a565b841115610c6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c61906144d8565b60405180910390fd5b6000610c768686611611565b9050610c828786612605565b7f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98773ffffffffffffffffffffffffffffffffffffffff166323e30c8b338989868a8a6040518763ffffffff1660e01b8152600401610ce696959493929190614545565b6020604051808303816000875af1158015610d05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2991906145b6565b14610d69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6090614655565b60405180910390fd5b6000610d73612613565b9050610d8b88308489610d86919061435a565b611e05565b6000821480610dc65750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b15610de557610de0888388610ddb919061435a565b6124dd565b610dfb565b610def88876124dd565b610dfa888284611e91565b5b60019250505095945050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610e46576000610e7a565b610e4e61090f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610e799190614675565b5b9050919050565b6000610ece600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611adc565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f2f82610f29611c34565b83611e05565b610f3982826124dd565b5050565b6000610f86600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612618565b9050919050565b600060608060008060006060610fcd60057f7a6d74000000000000000000000000000000000000000000000000000000000361262690919063ffffffff16565b61100160067f310000000000000000000000000000000000000000000000000000000000000161262690919063ffffffff16565b46306000801b600067ffffffffffffffff811115611022576110216146a9565b5b6040519080825280602002602001820160405280156110505781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b600061109961115f565b65ffffffffffff1682106110e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d9906143da565b60405180910390fd5b6110ed600b83612395565b9050919050565b6000600c600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600061116a43611b5a565b905090565b60606004805461117e90614268565b80601f01602080910402602001604051908101604052809291908181526020018280546111aa90614268565b80156111f75780601f106111cc576101008083540402835291602001916111f7565b820191906000526020600020905b8154815290600101906020018083116111da57829003601f168201915b5050505050905090565b600080600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600081146112e057600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060018203815481106112a5576112a46146d8565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166112e3565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b6000801b81565b60008061131b611c34565b905060006113298286611693565b90508381101561136e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136590614779565b60405180910390fd5b61137b8286868403611c3c565b60019250505092915050565b600080611392611c34565b905061139f818585611e91565b600191505092915050565b834211156113ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e4906147e5565b60405180910390fd5b600061144f6114477fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf89898960405160200161142c9493929190614805565b604051602081830303815290604052805190602001206126d6565b8585856126f0565b905061145a8161271b565b861461149b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149290614896565b60405180910390fd5b6114a581886124eb565b50505050505050565b834211156114f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e890614902565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886115208c61271b565b8960405160200161153696959493929190614922565b6040516020818303038152906040528051906020012090506000611559826126d6565b90506000611569828787876126f0565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146115d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d0906149cf565b60405180910390fd5b6115e48a8a8a611c3c565b50505050505050505050565b6115f982610948565b61160281612107565b61160c83836122b3565b505050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611681576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167890614a3b565b60405180910390fd5b61168b8383612779565b905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6117226137f6565b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff1681548110611779576117786146d8565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b60006020835110156118465761183f83612781565b9050611868565b826118508361186e565b600001908161185f9190614c07565b5060ff60001b90505b92915050565b6000819050919050565b6118828282611905565b61188a6127e9565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166118b061090f565b11156118f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e890614d4b565b60405180910390fd5b6118ff600b611a5b8361280d565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611974576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196b90614db7565b60405180910390fd5b61198060008383612ae8565b8060026000828254611992919061435a565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a439190613a8e565b60405180910390a3611a5760008383612aed565b5050565b60008183611a69919061435a565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016821115611ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acb90614e49565b60405180910390fd5b819050919050565b600063ffffffff8016821115611b27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1e90614edb565b60405180910390fd5b819050919050565b611b3a838383611baf565b611b55611b4684610ba0565b611b4f84610ba0565b83612afd565b505050565b600065ffffffffffff8016821115611ba7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9e90614f6d565b60405180910390fd5b819050919050565b505050565b60008183611bc29190614675565b905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611cab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca290614fff565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1190615091565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611df89190613a8e565b60405180910390a3505050565b6000611e118484611693565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611e8b5781811015611e7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e74906150fd565b60405180910390fd5b611e8a8484848403611c3c565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef79061518f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6690615221565b60405180910390fd5b611f7a838383612ae8565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612000576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff7906152b3565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120ee9190613a8e565b60405180910390a3612101848484612aed565b50505050565b61211881612113611c34565b612cf6565b50565b61212582826110f4565b6121f8576001600c600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061219d611c34565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60007f0000000000000000000000008a76ee1a25823edc108b1937bb24ea3fcdb18a7373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561227857507f0000000000000000000000000000000000000000000000000000000000000a4146145b156122a5577f5b9fbb9782dd134cc9061212e71fc4131e7a8fc0632abe7dea9ddc81de9b6e6b90506122b0565b6122ad612d7b565b90505b90565b6122bd82826110f4565b15612391576000600c600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550612336611c34565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b60008083805490509050600080829050600583111561240b5760006123b984612e11565b846123c49190614675565b9050856123d18883612f0a565b60000160009054906101000a900463ffffffff1663ffffffff1611156123f957809150612409565b600181612406919061435a565b92505b505b5b8082101561246b5760006124208383612f1f565b90508561242d8883612f0a565b60000160009054906101000a900463ffffffff1663ffffffff16111561245557809150612465565b600181612462919061435a565b92505b5061240c565b600081146124b1576124808660018303612f0a565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166124b4565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b6124e78282612f45565b5050565b60006124f683610ba0565b9050600061250384610ed5565b905082600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46125ff828483612afd565b50505050565b61260f8282611878565b5050565b600090565b600081600001549050919050565b606060ff60001b83146126435761263c83612f63565b90506126d0565b81805461264f90614268565b80601f016020809104026020016040519081016040528092919081815260200182805461267b90614268565b80156126c85780601f1061269d576101008083540402835291602001916126c8565b820191906000526020600020905b8154815290600101906020018083116126ab57829003601f168201915b505050505090505b92915050565b60006126e96126e36121fc565b83612fd7565b9050919050565b600080600061270187878787613018565b9150915061270e816130fa565b8192505050949350505050565b600080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061276881612618565b915061277381613260565b50919050565b600092915050565b600080829050601f815111156127ce57826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016127c59190613989565b60405180910390fd5b8051816127da90615303565b60001c1760001b915050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b60008060008580549050905060008082146128d35761282f8760018403612f0a565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505061290f565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935061294484868863ffffffff16565b925060008211801561296e575061295961115f565b65ffffffffffff16816000015163ffffffff16145b156129df5761297c83611a71565b6129898860018503612f0a565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550612ade565b866040518060400160405280612a036129f661115f565b65ffffffffffff16611adc565b63ffffffff168152602001612a1786611a71565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b505050565b612af8838383611b2f565b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612b395750600081115b15612cf157600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612c1757600080612bc0600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611bb48561280d565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612c0c92919061536a565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612cf057600080612c99600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611a5b8561280d565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612ce592919061536a565b60405180910390a250505b5b505050565b612d0082826110f4565b612d7757612d0d81613276565b612d1b8360001c60206132a3565b604051602001612d2c929190615467565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d6e9190613989565b60405180910390fd5b5050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7fac8cea0d522ec503445341da51704a7c4e83e07b2d51db6ad0f27521d54598a37fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001612df69594939291906154a1565b60405160208183030381529060405280519060200120905090565b6000808203612e235760009050612f05565b60006001612e30846134df565b901c6001901b90506001818481612e4a57612e496154f4565b5b048201901c90506001818481612e6357612e626154f4565b5b048201901c90506001818481612e7c57612e7b6154f4565b5b048201901c90506001818481612e9557612e946154f4565b5b048201901c90506001818481612eae57612ead6154f4565b5b048201901c90506001818481612ec757612ec66154f4565b5b048201901c90506001818481612ee057612edf6154f4565b5b048201901c9050612f0181828581612efb57612efa6154f4565b5b046135c0565b9150505b919050565b60008260005281602060002001905092915050565b60006002828418612f309190615523565b828416612f3d919061435a565b905092915050565b612f4f82826135d9565b612f5d600b611bb48361280d565b50505050565b60606000612f70836137a6565b90506000602067ffffffffffffffff811115612f8f57612f8e6146a9565b5b6040519080825280601f01601f191660200182016040528015612fc15781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156130535760006003915091506130f1565b6000600187878787604051600081526020016040526040516130789493929190615554565b6020604051602081039080840390855afa15801561309a573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036130e8576000600192509250506130f1565b80600092509250505b94509492505050565b6000600481111561310e5761310d615599565b5b81600481111561312157613120615599565b5b031561325d576001600481111561313b5761313a615599565b5b81600481111561314e5761314d615599565b5b0361318e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161318590615614565b60405180910390fd5b600260048111156131a2576131a1615599565b5b8160048111156131b5576131b4615599565b5b036131f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131ec90615680565b60405180910390fd5b6003600481111561320957613208615599565b5b81600481111561321c5761321b615599565b5b0361325c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161325390615712565b60405180910390fd5b5b50565b6001816000016000828254019250508190555050565b606061329c8273ffffffffffffffffffffffffffffffffffffffff16601460ff166132a3565b9050919050565b6060600060028360026132b69190615732565b6132c0919061435a565b67ffffffffffffffff8111156132d9576132d86146a9565b5b6040519080825280601f01601f19166020018201604052801561330b5781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110613343576133426146d8565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106133a7576133a66146d8565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026133e79190615732565b6133f1919061435a565b90505b6001811115613491577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110613433576134326146d8565b5b1a60f81b82828151811061344a576134496146d8565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061348a90615774565b90506133f4565b50600084146134d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134cc906157e9565b60405180910390fd5b8091505092915050565b600080600090506000608084901c111561350157608083901c92506080810190505b6000604084901c111561351c57604083901c92506040810190505b6000602084901c111561353757602083901c92506020810190505b6000601084901c111561355257601083901c92506010810190505b6000600884901c111561356d57600883901c92506008810190505b6000600484901c111561358857600483901c92506004810190505b6000600284901c11156135a357600283901c92506002810190505b6000600184901c11156135b7576001810190505b80915050919050565b60008183106135cf57816135d1565b825b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613648576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161363f9061587b565b60405180910390fd5b61365482600083612ae8565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156136da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136d19061590d565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161378d9190613a8e565b60405180910390a36137a183600084612aed565b505050565b60008060ff8360001c169050601f8111156137ed576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6138738161383e565b811461387e57600080fd5b50565b6000813590506138908161386a565b92915050565b6000602082840312156138ac576138ab613834565b5b60006138ba84828501613881565b91505092915050565b60008115159050919050565b6138d8816138c3565b82525050565b60006020820190506138f360008301846138cf565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613933578082015181840152602081019050613918565b60008484015250505050565b6000601f19601f8301169050919050565b600061395b826138f9565b6139658185613904565b9350613975818560208601613915565b61397e8161393f565b840191505092915050565b600060208201905081810360008301526139a38184613950565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006139d6826139ab565b9050919050565b6139e6816139cb565b81146139f157600080fd5b50565b600081359050613a03816139dd565b92915050565b6000819050919050565b613a1c81613a09565b8114613a2757600080fd5b50565b600081359050613a3981613a13565b92915050565b60008060408385031215613a5657613a55613834565b5b6000613a64858286016139f4565b9250506020613a7585828601613a2a565b9150509250929050565b613a8881613a09565b82525050565b6000602082019050613aa36000830184613a7f565b92915050565b600080600060608486031215613ac257613ac1613834565b5b6000613ad0868287016139f4565b9350506020613ae1868287016139f4565b9250506040613af286828701613a2a565b9150509250925092565b6000819050919050565b613b0f81613afc565b8114613b1a57600080fd5b50565b600081359050613b2c81613b06565b92915050565b600060208284031215613b4857613b47613834565b5b6000613b5684828501613b1d565b91505092915050565b613b6881613afc565b82525050565b6000602082019050613b836000830184613b5f565b92915050565b60008060408385031215613ba057613b9f613834565b5b6000613bae85828601613b1d565b9250506020613bbf858286016139f4565b9150509250929050565b600060ff82169050919050565b613bdf81613bc9565b82525050565b6000602082019050613bfa6000830184613bd6565b92915050565b600060208284031215613c1657613c15613834565b5b6000613c2484828501613a2a565b91505092915050565b600060208284031215613c4357613c42613834565b5b6000613c51848285016139f4565b91505092915050565b613c63816139cb565b82525050565b6000602082019050613c7e6000830184613c5a565b92915050565b6000613c8f826139cb565b9050919050565b613c9f81613c84565b8114613caa57600080fd5b50565b600081359050613cbc81613c96565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112613ce757613ce6613cc2565b5b8235905067ffffffffffffffff811115613d0457613d03613cc7565b5b602083019150836001820283011115613d2057613d1f613ccc565b5b9250929050565b600080600080600060808688031215613d4357613d42613834565b5b6000613d5188828901613cad565b9550506020613d62888289016139f4565b9450506040613d7388828901613a2a565b935050606086013567ffffffffffffffff811115613d9457613d93613839565b5b613da088828901613cd1565b92509250509295509295909350565b600063ffffffff82169050919050565b613dc881613daf565b82525050565b6000602082019050613de36000830184613dbf565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b613e1e81613de9565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613e5981613a09565b82525050565b6000613e6b8383613e50565b60208301905092915050565b6000602082019050919050565b6000613e8f82613e24565b613e998185613e2f565b9350613ea483613e40565b8060005b83811015613ed5578151613ebc8882613e5f565b9750613ec783613e77565b925050600181019050613ea8565b5085935050505092915050565b600060e082019050613ef7600083018a613e15565b8181036020830152613f098189613950565b90508181036040830152613f1d8188613950565b9050613f2c6060830187613a7f565b613f396080830186613c5a565b613f4660a0830185613b5f565b81810360c0830152613f588184613e84565b905098975050505050505050565b600065ffffffffffff82169050919050565b613f8181613f66565b82525050565b6000602082019050613f9c6000830184613f78565b92915050565b613fab81613bc9565b8114613fb657600080fd5b50565b600081359050613fc881613fa2565b92915050565b60008060008060008060c08789031215613feb57613fea613834565b5b6000613ff989828a016139f4565b965050602061400a89828a01613a2a565b955050604061401b89828a01613a2a565b945050606061402c89828a01613fb9565b935050608061403d89828a01613b1d565b92505060a061404e89828a01613b1d565b9150509295509295509295565b600080600080600080600060e0888a03121561407a57614079613834565b5b60006140888a828b016139f4565b97505060206140998a828b016139f4565b96505060406140aa8a828b01613a2a565b95505060606140bb8a828b01613a2a565b94505060806140cc8a828b01613fb9565b93505060a06140dd8a828b01613b1d565b92505060c06140ee8a828b01613b1d565b91505092959891949750929550565b6000806040838503121561411457614113613834565b5b6000614122858286016139f4565b9250506020614133858286016139f4565b9150509250929050565b61414681613daf565b811461415157600080fd5b50565b6000813590506141638161413d565b92915050565b600080604083850312156141805761417f613834565b5b600061418e858286016139f4565b925050602061419f85828601614154565b9150509250929050565b6141b281613daf565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6141e9816141b8565b82525050565b60408201600082015161420560008501826141a9565b50602082015161421860208501826141e0565b50505050565b600060408201905061423360008301846141ef565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061428057607f821691505b60208210810361429357614292614239565b5b50919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b60006142f5602f83613904565b915061430082614299565b604082019050919050565b60006020820190508181036000830152614324816142e8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061436582613a09565b915061437083613a09565b92508282019050808211156143885761438761432b565b5b92915050565b7f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000600082015250565b60006143c4601983613904565b91506143cf8261438e565b602082019050919050565b600060208201905081810360008301526143f3816143b7565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000600082015250565b6000614430601d83613904565b915061443b826143fa565b602082019050919050565b6000602082019050818103600083015261445f81614423565b9050919050565b7f4552433230466c6173684d696e743a20616d6f756e742065786365656473206d60008201527f6178466c6173684c6f616e000000000000000000000000000000000000000000602082015250565b60006144c2602b83613904565b91506144cd82614466565b604082019050919050565b600060208201905081810360008301526144f1816144b5565b9050919050565b600082825260208201905092915050565b82818337600083830152505050565b600061452483856144f8565b9350614531838584614509565b61453a8361393f565b840190509392505050565b600060a08201905061455a6000830189613c5a565b6145676020830188613c5a565b6145746040830187613a7f565b6145816060830186613a7f565b8181036080830152614594818486614518565b9050979650505050505050565b6000815190506145b081613b06565b92915050565b6000602082840312156145cc576145cb613834565b5b60006145da848285016145a1565b91505092915050565b7f4552433230466c6173684d696e743a20696e76616c69642072657475726e207660008201527f616c756500000000000000000000000000000000000000000000000000000000602082015250565b600061463f602483613904565b915061464a826145e3565b604082019050919050565b6000602082019050818103600083015261466e81614632565b9050919050565b600061468082613a09565b915061468b83613a09565b92508282039050818111156146a3576146a261432b565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000614763602583613904565b915061476e82614707565b604082019050919050565b6000602082019050818103600083015261479281614756565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b60006147cf601d83613904565b91506147da82614799565b602082019050919050565b600060208201905081810360008301526147fe816147c2565b9050919050565b600060808201905061481a6000830187613b5f565b6148276020830186613c5a565b6148346040830185613a7f565b6148416060830184613a7f565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b6000614880601983613904565b915061488b8261484a565b602082019050919050565b600060208201905081810360008301526148af81614873565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b60006148ec601d83613904565b91506148f7826148b6565b602082019050919050565b6000602082019050818103600083015261491b816148df565b9050919050565b600060c0820190506149376000830189613b5f565b6149446020830188613c5a565b6149516040830187613c5a565b61495e6060830186613a7f565b61496b6080830185613a7f565b61497860a0830184613a7f565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b60006149b9601e83613904565b91506149c482614983565b602082019050919050565b600060208201905081810360008301526149e8816149ac565b9050919050565b7f4552433230466c6173684d696e743a2077726f6e6720746f6b656e0000000000600082015250565b6000614a25601b83613904565b9150614a30826149ef565b602082019050919050565b60006020820190508181036000830152614a5481614a18565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302614abd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614a80565b614ac78683614a80565b95508019841693508086168417925050509392505050565b6000819050919050565b6000614b04614aff614afa84613a09565b614adf565b613a09565b9050919050565b6000819050919050565b614b1e83614ae9565b614b32614b2a82614b0b565b848454614a8d565b825550505050565b600090565b614b47614b3a565b614b52818484614b15565b505050565b5b81811015614b7657614b6b600082614b3f565b600181019050614b58565b5050565b601f821115614bbb57614b8c81614a5b565b614b9584614a70565b81016020851015614ba4578190505b614bb8614bb085614a70565b830182614b57565b50505b505050565b600082821c905092915050565b6000614bde60001984600802614bc0565b1980831691505092915050565b6000614bf78383614bcd565b9150826002028217905092915050565b614c10826138f9565b67ffffffffffffffff811115614c2957614c286146a9565b5b614c338254614268565b614c3e828285614b7a565b600060209050601f831160018114614c715760008415614c5f578287015190505b614c698582614beb565b865550614cd1565b601f198416614c7f86614a5b565b60005b82811015614ca757848901518255600182019150602085019450602081019050614c82565b86831015614cc45784890151614cc0601f891682614bcd565b8355505b6001600288020188555050505b505050505050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000614d35603083613904565b9150614d4082614cd9565b604082019050919050565b60006020820190508181036000830152614d6481614d28565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000614da1601f83613904565b9150614dac82614d6b565b602082019050919050565b60006020820190508181036000830152614dd081614d94565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000614e33602783613904565b9150614e3e82614dd7565b604082019050919050565b60006020820190508181036000830152614e6281614e26565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000614ec5602683613904565b9150614ed082614e69565b604082019050919050565b60006020820190508181036000830152614ef481614eb8565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b6000614f57602683613904565b9150614f6282614efb565b604082019050919050565b60006020820190508181036000830152614f8681614f4a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614fe9602483613904565b9150614ff482614f8d565b604082019050919050565b6000602082019050818103600083015261501881614fdc565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061507b602283613904565b91506150868261501f565b604082019050919050565b600060208201905081810360008301526150aa8161506e565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006150e7601d83613904565b91506150f2826150b1565b602082019050919050565b60006020820190508181036000830152615116816150da565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000615179602583613904565b91506151848261511d565b604082019050919050565b600060208201905081810360008301526151a88161516c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061520b602383613904565b9150615216826151af565b604082019050919050565b6000602082019050818103600083015261523a816151fe565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061529d602683613904565b91506152a882615241565b604082019050919050565b600060208201905081810360008301526152cc81615290565b9050919050565b600081519050919050565b6000819050602082019050919050565b60006152fa8251613afc565b80915050919050565b600061530e826152d3565b82615318846152de565b9050615323816152ee565b925060208210156153635761535e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802614a80565b831692505b5050919050565b600060408201905061537f6000830185613a7f565b61538c6020830184613a7f565b9392505050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b60006153d4601783615393565b91506153df8261539e565b601782019050919050565b60006153f5826138f9565b6153ff8185615393565b935061540f818560208601613915565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000615451601183615393565b915061545c8261541b565b601182019050919050565b6000615472826153c7565b915061547e82856153ea565b915061548982615444565b915061549582846153ea565b91508190509392505050565b600060a0820190506154b66000830188613b5f565b6154c36020830187613b5f565b6154d06040830186613b5f565b6154dd6060830185613a7f565b6154ea6080830184613c5a565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061552e82613a09565b915061553983613a09565b925082615549576155486154f4565b5b828204905092915050565b60006080820190506155696000830187613b5f565b6155766020830186613bd6565b6155836040830185613b5f565b6155906060830184613b5f565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b60006155fe601883613904565b9150615609826155c8565b602082019050919050565b6000602082019050818103600083015261562d816155f1565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b600061566a601f83613904565b915061567582615634565b602082019050919050565b600060208201905081810360008301526156998161565d565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006156fc602283613904565b9150615707826156a0565b604082019050919050565b6000602082019050818103600083015261572b816156ef565b9050919050565b600061573d82613a09565b915061574883613a09565b925082820261575681613a09565b9150828204841483151761576d5761576c61432b565b5b5092915050565b600061577f82613a09565b9150600082036157925761579161432b565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b60006157d3602083613904565b91506157de8261579d565b602082019050919050565b60006020820190508181036000830152615802816157c6565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000615865602183613904565b915061587082615809565b604082019050919050565b6000602082019050818103600083015261589481615858565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006158f7602283613904565b91506159028261589b565b604082019050919050565b60006020820190508181036000830152615926816158ea565b905091905056fea264697066735822122090af838072e75d671703272173264a84f4759c10ed4903994b7ed4dcbcaf51e764736f6c63430008120033