Mainnet
Testnet
FFGFF (FGF)

FFGFF (FGF)

Overview

Max Total supply:
77,778,777
FGF
Holders:
1 addresses
Total transfers:
1

Token info

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

Creation bytecode

0x6101606040523480156200001257600080fd5b506040518060400160405280600581526020017f4646474646000000000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f46464746460000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f46474600000000000000000000000000000000000000000000000000000000008152508160039081620000fd919062001241565b5080600490816200010f919062001241565b5050506000600560006101000a81548160ff021916908315150217905550620001486007836200027560201b620015321790919060201c565b61012081815250506200016b6008826200027560201b620015321790919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a08181525050620001aa620002d260201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1681525050505050620001fd6000801b336200032f60201b60201c565b6200022f7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a336200032f60201b60201c565b6200026f33620002446200042160201b60201c565b600a620002529190620014b8565b6304a2cf5962000263919062001509565b6200042a60201b60201c565b62001b7b565b60006020835110156200029b5762000293836200044560201b60201c565b9050620002cc565b82620002b283620004b260201b620015761760201c565b6000019081620002c3919062001241565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e05161010051463060405160200162000314959493929190620015c5565b60405160208183030381529060405280519060200120905090565b620003418282620004bc60201b60201c565b6200041d5760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003c26200052760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60006012905090565b6200044182826200052f60201b620015801760201c565b5050565b600080829050601f815111156200049557826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016200048c9190620016b1565b60405180910390fd5b805181620004a39062001707565b60001c1760001b915050919050565b6000819050919050565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b620005468282620005ed60201b6200160d1760201c565b620005566200075a60201b60201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16620005846200077e60201b60201c565b1115620005c8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005bf90620017ed565b60405180910390fd5b620005e7600d6200078860201b620017631783620007a060201b60201c565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200065f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000656906200185f565b60405180910390fd5b620006736000838362000ac560201b60201c565b806002600082825462000687919062001881565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200073a9190620018bc565b60405180910390a3620007566000838362000af260201b60201c565b5050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000600254905090565b6000818362000798919062001881565b905092915050565b60008060008580549050905060008082146200087057620007cb876001840362000b0f60201b60201c565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050620008ac565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169350620008df84868860201c565b9250600082118015620009125750620008fd62000b2460201b60201c565b65ffffffffffff16816000015163ffffffff16145b156200099a576200092e8362000b4160201b620017791760201c565b62000943886001850362000b0f60201b60201c565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555062000abb565b866040518060400160405280620009d3620009ba62000b2460201b60201c565b65ffffffffffff1662000baf60201b620017e41760201c565b63ffffffff168152602001620009f48662000b4160201b620017791760201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b62000ad562000c0560201b60201c565b62000aed83838362000c5a60201b620018371760201c565b505050565b62000b0a83838362000c5f60201b6200183c1760201c565b505050565b60008260005281602060002001905092915050565b600062000b3c4362000caf60201b620018671760201c565b905090565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff801682111562000ba7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b9e906200194f565b60405180910390fd5b819050919050565b600063ffffffff801682111562000bfd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000bf490620019e7565b60405180910390fd5b819050919050565b62000c1562000d0760201b60201c565b1562000c58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c4f9062001a59565b60405180910390fd5b565b505050565b62000c7783838362000d1e60201b620018bc1760201c565b62000caa62000c8c8462000d2360201b60201c565b62000c9d8462000d2360201b60201c565b8362000d8c60201b60201c565b505050565b600065ffffffffffff801682111562000cff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000cf69062001af1565b60405180910390fd5b819050919050565b6000600560009054906101000a900460ff16905090565b505050565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801562000dc95750600081115b1562000faa57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000ebc5760008062000e63600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002062000faf60201b620018c11785620007a060201b60201c565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000eb192919062001b13565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000fa95760008062000f50600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206200078860201b620017631785620007a060201b60201c565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000f9e92919062001b13565b60405180910390a250505b5b505050565b6000818362000fbf919062001b40565b905092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200104957607f821691505b6020821081036200105f576200105e62001001565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620010c97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200108a565b620010d586836200108a565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620011226200111c6200111684620010ed565b620010f7565b620010ed565b9050919050565b6000819050919050565b6200113e8362001101565b620011566200114d8262001129565b84845462001097565b825550505050565b600090565b6200116d6200115e565b6200117a81848462001133565b505050565b5b81811015620011a2576200119660008262001163565b60018101905062001180565b5050565b601f821115620011f157620011bb8162001065565b620011c6846200107a565b81016020851015620011d6578190505b620011ee620011e5856200107a565b8301826200117f565b50505b505050565b600082821c905092915050565b60006200121660001984600802620011f6565b1980831691505092915050565b600062001231838362001203565b9150826002028217905092915050565b6200124c8262000fc7565b67ffffffffffffffff81111562001268576200126762000fd2565b5b62001274825462001030565b62001281828285620011a6565b600060209050601f831160018114620012b95760008415620012a4578287015190505b620012b0858262001223565b86555062001320565b601f198416620012c98662001065565b60005b82811015620012f357848901518255600182019150602085019450602081019050620012cc565b868310156200131357848901516200130f601f89168262001203565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620013b6578086048111156200138e576200138d62001328565b5b60018516156200139e5780820291505b8081029050620013ae8562001357565b94506200136e565b94509492505050565b600082620013d15760019050620014a4565b81620013e15760009050620014a4565b8160018114620013fa576002811462001405576200143b565b6001915050620014a4565b60ff8411156200141a576200141962001328565b5b8360020a91508482111562001434576200143362001328565b5b50620014a4565b5060208310610133831016604e8410600b8410161715620014755782820a9050838111156200146f576200146e62001328565b5b620014a4565b62001484848484600162001364565b925090508184048111156200149e576200149d62001328565b5b81810290505b9392505050565b600060ff82169050919050565b6000620014c582620010ed565b9150620014d283620014ab565b9250620015017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620013bf565b905092915050565b60006200151682620010ed565b91506200152383620010ed565b92508282026200153381620010ed565b915082820484148315176200154d576200154c62001328565b5b5092915050565b6000819050919050565b620015698162001554565b82525050565b6200157a81620010ed565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620015ad8262001580565b9050919050565b620015bf81620015a0565b82525050565b600060a082019050620015dc60008301886200155e565b620015eb60208301876200155e565b620015fa60408301866200155e565b6200160960608301856200156f565b620016186080830184620015b4565b9695505050505050565b600082825260208201905092915050565b60005b838110156200165357808201518184015260208101905062001636565b60008484015250505050565b6000601f19601f8301169050919050565b60006200167d8262000fc7565b62001689818562001622565b93506200169b81856020860162001633565b620016a6816200165f565b840191505092915050565b60006020820190508181036000830152620016cd818462001670565b905092915050565b600081519050919050565b6000819050602082019050919050565b6000620016fe825162001554565b80915050919050565b60006200171482620016d5565b826200172084620016e0565b90506200172d81620016f0565b9250602082101562001770576200176b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff836020036008026200108a565b831692505b5050919050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000620017d560308362001622565b9150620017e28262001777565b604082019050919050565b600060208201905081810360008301526200180881620017c6565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062001847601f8362001622565b915062001854826200180f565b602082019050919050565b600060208201905081810360008301526200187a8162001838565b9050919050565b60006200188e82620010ed565b91506200189b83620010ed565b9250828201905080821115620018b657620018b562001328565b5b92915050565b6000602082019050620018d360008301846200156f565b92915050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b60006200193760278362001622565b91506200194482620018d9565b604082019050919050565b600060208201905081810360008301526200196a8162001928565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000620019cf60268362001622565b9150620019dc8262001971565b604082019050919050565b6000602082019050818103600083015262001a0281620019c0565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b600062001a4160108362001622565b915062001a4e8262001a09565b602082019050919050565b6000602082019050818103600083015262001a748162001a32565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b600062001ad960268362001622565b915062001ae68262001a7b565b604082019050919050565b6000602082019050818103600083015262001b0c8162001aca565b9050919050565b600060408201905062001b2a60008301856200156f565b62001b3960208301846200156f565b9392505050565b600062001b4d82620010ed565b915062001b5a83620010ed565b925082820390508181111562001b755762001b7462001328565b5b92915050565b60805160a05160c05160e0516101005161012051610140516151d162001bd66000396000610d3a01526000610d0601526000612b7e01526000612b5d01526000611f0d01526000611f6301526000611f8c01526151d16000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c806370a0823111610125578063a217fddf116100ad578063d505accf1161007c578063d505accf146106a7578063d547741f146106c3578063dd62ed3e146106df578063e63ab1e91461070f578063f1127ed81461072d5761021c565b8063a217fddf1461060d578063a457c2d71461062b578063a9059cbb1461065b578063c3cda5201461068b5761021c565b80638e539e8c116100f45780638e539e8c1461054157806391d148541461057157806391ddadf4146105a157806395d89b41146105bf5780639ab24eb0146105dd5761021c565b806370a08231146104b35780637ecebe00146104e35780638456cb591461051357806384b0196e1461051d5761021c565b806336568abe116101a85780634bf5d7e9116101775780634bf5d7e9146103fb578063587cde1e146104195780635c19a95c146104495780635c975abb146104655780636fcfff45146104835761021c565b806336568abe1461037557806339509351146103915780633a46b1a8146103c15780633f4ba83a146103f15761021c565b806323b872dd116101ef57806323b872dd146102bd578063248a9ca3146102ed5780632f2ff15d1461031d578063313ce567146103395780633644e515146103575761021c565b806301ffc9a71461022157806306fdde0314610251578063095ea7b31461026f57806318160ddd1461029f575b600080fd5b61023b600480360381019061023691906134f6565b61075d565b604051610248919061353e565b60405180910390f35b6102596107d7565b60405161026691906135e9565b60405180910390f35b6102896004803603810190610284919061369f565b610869565b604051610296919061353e565b60405180910390f35b6102a761088c565b6040516102b491906136ee565b60405180910390f35b6102d760048036038101906102d29190613709565b610896565b6040516102e4919061353e565b60405180910390f35b61030760048036038101906103029190613792565b6108c5565b60405161031491906137ce565b60405180910390f35b610337600480360381019061033291906137e9565b6108e5565b005b610341610906565b60405161034e9190613845565b60405180910390f35b61035f61090f565b60405161036c91906137ce565b60405180910390f35b61038f600480360381019061038a91906137e9565b61091e565b005b6103ab60048036038101906103a6919061369f565b6109a1565b6040516103b8919061353e565b60405180910390f35b6103db60048036038101906103d6919061369f565b6109d8565b6040516103e891906136ee565b60405180910390f35b6103f9610a7b565b005b610403610ab0565b60405161041091906135e9565b60405180910390f35b610433600480360381019061042e9190613860565b610b3e565b604051610440919061389c565b60405180910390f35b610463600480360381019061045e9190613860565b610ba7565b005b61046d610bbb565b60405161047a919061353e565b60405180910390f35b61049d60048036038101906104989190613860565b610bd2565b6040516104aa91906138d6565b60405180910390f35b6104cd60048036038101906104c89190613860565b610c26565b6040516104da91906136ee565b60405180910390f35b6104fd60048036038101906104f89190613860565b610c6e565b60405161050a91906136ee565b60405180910390f35b61051b610cbe565b005b610525610cf3565b60405161053897969594939291906139ea565b60405180910390f35b61055b60048036038101906105569190613a6e565b610df5565b60405161056891906136ee565b60405180910390f35b61058b600480360381019061058691906137e9565b610e5a565b604051610598919061353e565b60405180910390f35b6105a9610ec5565b6040516105b69190613abc565b60405180910390f35b6105c7610ed5565b6040516105d491906135e9565b60405180910390f35b6105f760048036038101906105f29190613860565b610f67565b60405161060491906136ee565b60405180910390f35b61061561106f565b60405161062291906137ce565b60405180910390f35b6106456004803603810190610640919061369f565b611076565b604051610652919061353e565b60405180910390f35b6106756004803603810190610670919061369f565b6110ed565b604051610682919061353e565b60405180910390f35b6106a560048036038101906106a09190613b03565b611110565b005b6106c160048036038101906106bc9190613b90565b611214565b005b6106dd60048036038101906106d891906137e9565b611356565b005b6106f960048036038101906106f49190613c32565b611377565b60405161070691906136ee565b60405180910390f35b6107176113fe565b60405161072491906137ce565b60405180910390f35b61074760048036038101906107429190613c9e565b611422565b6040516107549190613d53565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107d057506107cf826118d7565b5b9050919050565b6060600380546107e690613d9d565b80601f016020809104026020016040519081016040528092919081815260200182805461081290613d9d565b801561085f5780601f106108345761010080835404028352916020019161085f565b820191906000526020600020905b81548152906001019060200180831161084257829003601f168201915b5050505050905090565b600080610874611941565b9050610881818585611949565b600191505092915050565b6000600254905090565b6000806108a1611941565b90506108ae858285611b12565b6108b9858585611b9e565b60019150509392505050565b600060066000838152602001908152602001600020600101549050919050565b6108ee826108c5565b6108f781611e14565b6109018383611e28565b505050565b60006012905090565b6000610919611f09565b905090565b610926611941565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098a90613e40565b60405180910390fd5b61099d8282611fc0565b5050565b6000806109ac611941565b90506109cd8185856109be8589611377565b6109c89190613e8f565b611949565b600191505092915050565b60006109e2610ec5565b65ffffffffffff168210610a2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2290613f0f565b60405180910390fd5b610a73600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020836120a2565b905092915050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610aa581611e14565b610aad6121ea565b50565b606043610abb610ec5565b65ffffffffffff1614610b03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afa90613f7b565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610bb8610bb2611941565b8261224d565b50565b6000600560009054906101000a900460ff16905090565b6000610c1f600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506117e4565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610cb7600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612367565b9050919050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610ce881611e14565b610cf0612375565b50565b600060608060008060006060610d3360077f00000000000000000000000000000000000000000000000000000000000000006123d890919063ffffffff16565b610d6760087f00000000000000000000000000000000000000000000000000000000000000006123d890919063ffffffff16565b46306000801b600067ffffffffffffffff811115610d8857610d87613f9b565b5b604051908082528060200260200182016040528015610db65781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000610dff610ec5565b65ffffffffffff168210610e48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3f90613f0f565b60405180910390fd5b610e53600d836120a2565b9050919050565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000610ed043611867565b905090565b606060048054610ee490613d9d565b80601f0160208091040260200160405190810160405280929190818152602001828054610f1090613d9d565b8015610f5d5780601f10610f3257610100808354040283529160200191610f5d565b820191906000526020600020905b815481529060010190602001808311610f4057829003601f168201915b5050505050905090565b600080600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905090506000811461104657600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600182038154811061100b5761100a613fca565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611049565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b6000801b81565b600080611081611941565b9050600061108f8286611377565b9050838110156110d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cb9061406b565b60405180910390fd5b6110e18286868403611949565b60019250505092915050565b6000806110f8611941565b9050611105818585611b9e565b600191505092915050565b83421115611153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114a906140d7565b60405180910390fd5b60006111b56111ad7fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf89898960405160200161119294939291906140f7565b60405160208183030381529060405280519060200120612488565b8585856124a2565b90506111c0816124cd565b8614611201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f890614188565b60405180910390fd5b61120b818861224d565b50505050505050565b83421115611257576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124e906141f4565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886112868c6124cd565b8960405160200161129c96959493929190614214565b60405160208183030381529060405280519060200120905060006112bf82612488565b905060006112cf828787876124a2565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461133f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611336906142c1565b60405180910390fd5b61134a8a8a8a611949565b50505050505050505050565b61135f826108c5565b61136881611e14565b6113728383611fc0565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b61142a61345b565b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff168154811061148157611480613fca565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b600060208351101561154e576115478361252b565b9050611570565b8261155883611576565b6000019081611567919061448d565b5060ff60001b90505b92915050565b6000819050919050565b61158a828261160d565b611592612593565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166115b861088c565b11156115f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f0906145d1565b60405180910390fd5b611607600d611763836125b7565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361167c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116739061463d565b60405180910390fd5b61168860008383612892565b806002600082825461169a9190613e8f565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161174b91906136ee565b60405180910390a361175f600083836128aa565b5050565b600081836117719190613e8f565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80168211156117dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d3906146cf565b60405180910390fd5b819050919050565b600063ffffffff801682111561182f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182690614761565b60405180910390fd5b819050919050565b505050565b6118478383836118bc565b61186261185384610b3e565b61185c84610b3e565b836128ba565b505050565b600065ffffffffffff80168211156118b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ab906147f3565b60405180910390fd5b819050919050565b505050565b600081836118cf9190614813565b905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119af906148b9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1e9061494b565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b0591906136ee565b60405180910390a3505050565b6000611b1e8484611377565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611b985781811015611b8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b81906149b7565b60405180910390fd5b611b978484848403611949565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0490614a49565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7390614adb565b60405180910390fd5b611c87838383612892565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611d0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0490614b6d565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611dfb91906136ee565b60405180910390a3611e0e8484846128aa565b50505050565b611e2581611e20611941565b612ab3565b50565b611e328282610e5a565b611f055760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611eaa611941565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611f8557507f000000000000000000000000000000000000000000000000000000000000000046145b15611fb2577f00000000000000000000000000000000000000000000000000000000000000009050611fbd565b611fba612b38565b90505b90565b611fca8282610e5a565b1561209e5760006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550612043611941565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000808380549050905060008082905060058311156121185760006120c684612bce565b846120d19190614813565b9050856120de8883612cc7565b60000160009054906101000a900463ffffffff1663ffffffff16111561210657809150612116565b6001816121139190613e8f565b92505b505b5b8082101561217857600061212d8383612cdc565b90508561213a8883612cc7565b60000160009054906101000a900463ffffffff1663ffffffff16111561216257809150612172565b60018161216f9190613e8f565b92505b50612119565b600081146121be5761218d8660018303612cc7565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166121c1565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b6121f2612d02565b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa612236611941565b604051612243919061389c565b60405180910390a1565b600061225883610b3e565b9050600061226584610c26565b905082600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46123618284836128ba565b50505050565b600081600001549050919050565b61237d612d4b565b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586123c1611941565b6040516123ce919061389c565b60405180910390a1565b606060ff60001b83146123f5576123ee83612d95565b9050612482565b81805461240190613d9d565b80601f016020809104026020016040519081016040528092919081815260200182805461242d90613d9d565b801561247a5780601f1061244f5761010080835404028352916020019161247a565b820191906000526020600020905b81548152906001019060200180831161245d57829003601f168201915b505050505090505b92915050565b600061249b612495611f09565b83612e09565b9050919050565b60008060006124b387878787612e4a565b915091506124c081612f2c565b8192505050949350505050565b600080600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061251a81612367565b915061252581613092565b50919050565b600080829050601f8151111561257857826040517f305a27a900000000000000000000000000000000000000000000000000000000815260040161256f91906135e9565b60405180910390fd5b80518161258490614bbd565b60001c1760001b915050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b600080600085805490509050600080821461267d576125d98760018403612cc7565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16815250506126b9565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1693506126ee84868863ffffffff16565b92506000821180156127185750612703610ec5565b65ffffffffffff16816000015163ffffffff16145b156127895761272683611779565b6127338860018503612cc7565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550612888565b8660405180604001604052806127ad6127a0610ec5565b65ffffffffffff166117e4565b63ffffffff1681526020016127c186611779565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b61289a612d4b565b6128a5838383611837565b505050565b6128b583838361183c565b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156128f65750600081115b15612aae57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146129d45760008061297d600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206118c1856125b7565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516129c9929190614c24565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612aad57600080612a56600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611763856125b7565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612aa2929190614c24565b60405180910390a250505b5b505050565b612abd8282610e5a565b612b3457612aca816130a8565b612ad88360001c60206130d5565b604051602001612ae9929190614d21565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b2b91906135e9565b60405180910390fd5b5050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001612bb3959493929190614d5b565b60405160208183030381529060405280519060200120905090565b6000808203612be05760009050612cc2565b60006001612bed84613311565b901c6001901b90506001818481612c0757612c06614dae565b5b048201901c90506001818481612c2057612c1f614dae565b5b048201901c90506001818481612c3957612c38614dae565b5b048201901c90506001818481612c5257612c51614dae565b5b048201901c90506001818481612c6b57612c6a614dae565b5b048201901c90506001818481612c8457612c83614dae565b5b048201901c90506001818481612c9d57612c9c614dae565b5b048201901c9050612cbe81828581612cb857612cb7614dae565b5b046133f2565b9150505b919050565b60008260005281602060002001905092915050565b60006002828418612ced9190614ddd565b828416612cfa9190613e8f565b905092915050565b612d0a610bbb565b612d49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d4090614e5a565b60405180910390fd5b565b612d53610bbb565b15612d93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d8a90614ec6565b60405180910390fd5b565b60606000612da28361340b565b90506000602067ffffffffffffffff811115612dc157612dc0613f9b565b5b6040519080825280601f01601f191660200182016040528015612df35781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115612e85576000600391509150612f23565b600060018787878760405160008152602001604052604051612eaa9493929190614ee6565b6020604051602081039080840390855afa158015612ecc573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612f1a57600060019250925050612f23565b80600092509250505b94509492505050565b60006004811115612f4057612f3f614f2b565b5b816004811115612f5357612f52614f2b565b5b031561308f5760016004811115612f6d57612f6c614f2b565b5b816004811115612f8057612f7f614f2b565b5b03612fc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fb790614fa6565b60405180910390fd5b60026004811115612fd457612fd3614f2b565b5b816004811115612fe757612fe6614f2b565b5b03613027576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161301e90615012565b60405180910390fd5b6003600481111561303b5761303a614f2b565b5b81600481111561304e5761304d614f2b565b5b0361308e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613085906150a4565b60405180910390fd5b5b50565b6001816000016000828254019250508190555050565b60606130ce8273ffffffffffffffffffffffffffffffffffffffff16601460ff166130d5565b9050919050565b6060600060028360026130e891906150c4565b6130f29190613e8f565b67ffffffffffffffff81111561310b5761310a613f9b565b5b6040519080825280601f01601f19166020018201604052801561313d5781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061317557613174613fca565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106131d9576131d8613fca565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261321991906150c4565b6132239190613e8f565b90505b60018111156132c3577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061326557613264613fca565b5b1a60f81b82828151811061327c5761327b613fca565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806132bc90615106565b9050613226565b5060008414613307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132fe9061517b565b60405180910390fd5b8091505092915050565b600080600090506000608084901c111561333357608083901c92506080810190505b6000604084901c111561334e57604083901c92506040810190505b6000602084901c111561336957602083901c92506020810190505b6000601084901c111561338457601083901c92506010810190505b6000600884901c111561339f57600883901c92506008810190505b6000600484901c11156133ba57600483901c92506004810190505b6000600284901c11156133d557600283901c92506002810190505b6000600184901c11156133e9576001810190505b80915050919050565b60008183106134015781613403565b825b905092915050565b60008060ff8360001c169050601f811115613452576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6134d38161349e565b81146134de57600080fd5b50565b6000813590506134f0816134ca565b92915050565b60006020828403121561350c5761350b613499565b5b600061351a848285016134e1565b91505092915050565b60008115159050919050565b61353881613523565b82525050565b6000602082019050613553600083018461352f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613593578082015181840152602081019050613578565b60008484015250505050565b6000601f19601f8301169050919050565b60006135bb82613559565b6135c58185613564565b93506135d5818560208601613575565b6135de8161359f565b840191505092915050565b6000602082019050818103600083015261360381846135b0565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006136368261360b565b9050919050565b6136468161362b565b811461365157600080fd5b50565b6000813590506136638161363d565b92915050565b6000819050919050565b61367c81613669565b811461368757600080fd5b50565b60008135905061369981613673565b92915050565b600080604083850312156136b6576136b5613499565b5b60006136c485828601613654565b92505060206136d58582860161368a565b9150509250929050565b6136e881613669565b82525050565b600060208201905061370360008301846136df565b92915050565b60008060006060848603121561372257613721613499565b5b600061373086828701613654565b935050602061374186828701613654565b92505060406137528682870161368a565b9150509250925092565b6000819050919050565b61376f8161375c565b811461377a57600080fd5b50565b60008135905061378c81613766565b92915050565b6000602082840312156137a8576137a7613499565b5b60006137b68482850161377d565b91505092915050565b6137c88161375c565b82525050565b60006020820190506137e360008301846137bf565b92915050565b60008060408385031215613800576137ff613499565b5b600061380e8582860161377d565b925050602061381f85828601613654565b9150509250929050565b600060ff82169050919050565b61383f81613829565b82525050565b600060208201905061385a6000830184613836565b92915050565b60006020828403121561387657613875613499565b5b600061388484828501613654565b91505092915050565b6138968161362b565b82525050565b60006020820190506138b1600083018461388d565b92915050565b600063ffffffff82169050919050565b6138d0816138b7565b82525050565b60006020820190506138eb60008301846138c7565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b613926816138f1565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61396181613669565b82525050565b60006139738383613958565b60208301905092915050565b6000602082019050919050565b60006139978261392c565b6139a18185613937565b93506139ac83613948565b8060005b838110156139dd5781516139c48882613967565b97506139cf8361397f565b9250506001810190506139b0565b5085935050505092915050565b600060e0820190506139ff600083018a61391d565b8181036020830152613a1181896135b0565b90508181036040830152613a2581886135b0565b9050613a3460608301876136df565b613a41608083018661388d565b613a4e60a08301856137bf565b81810360c0830152613a60818461398c565b905098975050505050505050565b600060208284031215613a8457613a83613499565b5b6000613a928482850161368a565b91505092915050565b600065ffffffffffff82169050919050565b613ab681613a9b565b82525050565b6000602082019050613ad16000830184613aad565b92915050565b613ae081613829565b8114613aeb57600080fd5b50565b600081359050613afd81613ad7565b92915050565b60008060008060008060c08789031215613b2057613b1f613499565b5b6000613b2e89828a01613654565b9650506020613b3f89828a0161368a565b9550506040613b5089828a0161368a565b9450506060613b6189828a01613aee565b9350506080613b7289828a0161377d565b92505060a0613b8389828a0161377d565b9150509295509295509295565b600080600080600080600060e0888a031215613baf57613bae613499565b5b6000613bbd8a828b01613654565b9750506020613bce8a828b01613654565b9650506040613bdf8a828b0161368a565b9550506060613bf08a828b0161368a565b9450506080613c018a828b01613aee565b93505060a0613c128a828b0161377d565b92505060c0613c238a828b0161377d565b91505092959891949750929550565b60008060408385031215613c4957613c48613499565b5b6000613c5785828601613654565b9250506020613c6885828601613654565b9150509250929050565b613c7b816138b7565b8114613c8657600080fd5b50565b600081359050613c9881613c72565b92915050565b60008060408385031215613cb557613cb4613499565b5b6000613cc385828601613654565b9250506020613cd485828601613c89565b9150509250929050565b613ce7816138b7565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b613d1e81613ced565b82525050565b604082016000820151613d3a6000850182613cde565b506020820151613d4d6020850182613d15565b50505050565b6000604082019050613d686000830184613d24565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613db557607f821691505b602082108103613dc857613dc7613d6e565b5b50919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613e2a602f83613564565b9150613e3582613dce565b604082019050919050565b60006020820190508181036000830152613e5981613e1d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613e9a82613669565b9150613ea583613669565b9250828201905080821115613ebd57613ebc613e60565b5b92915050565b7f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000600082015250565b6000613ef9601983613564565b9150613f0482613ec3565b602082019050919050565b60006020820190508181036000830152613f2881613eec565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000600082015250565b6000613f65601d83613564565b9150613f7082613f2f565b602082019050919050565b60006020820190508181036000830152613f9481613f58565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000614055602583613564565b915061406082613ff9565b604082019050919050565b6000602082019050818103600083015261408481614048565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b60006140c1601d83613564565b91506140cc8261408b565b602082019050919050565b600060208201905081810360008301526140f0816140b4565b9050919050565b600060808201905061410c60008301876137bf565b614119602083018661388d565b61412660408301856136df565b61413360608301846136df565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b6000614172601983613564565b915061417d8261413c565b602082019050919050565b600060208201905081810360008301526141a181614165565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b60006141de601d83613564565b91506141e9826141a8565b602082019050919050565b6000602082019050818103600083015261420d816141d1565b9050919050565b600060c08201905061422960008301896137bf565b614236602083018861388d565b614243604083018761388d565b61425060608301866136df565b61425d60808301856136df565b61426a60a08301846136df565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b60006142ab601e83613564565b91506142b682614275565b602082019050919050565b600060208201905081810360008301526142da8161429e565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026143437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614306565b61434d8683614306565b95508019841693508086168417925050509392505050565b6000819050919050565b600061438a61438561438084613669565b614365565b613669565b9050919050565b6000819050919050565b6143a48361436f565b6143b86143b082614391565b848454614313565b825550505050565b600090565b6143cd6143c0565b6143d881848461439b565b505050565b5b818110156143fc576143f16000826143c5565b6001810190506143de565b5050565b601f82111561444157614412816142e1565b61441b846142f6565b8101602085101561442a578190505b61443e614436856142f6565b8301826143dd565b50505b505050565b600082821c905092915050565b600061446460001984600802614446565b1980831691505092915050565b600061447d8383614453565b9150826002028217905092915050565b61449682613559565b67ffffffffffffffff8111156144af576144ae613f9b565b5b6144b98254613d9d565b6144c4828285614400565b600060209050601f8311600181146144f757600084156144e5578287015190505b6144ef8582614471565b865550614557565b601f198416614505866142e1565b60005b8281101561452d57848901518255600182019150602085019450602081019050614508565b8683101561454a5784890151614546601f891682614453565b8355505b6001600288020188555050505b505050505050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b60006145bb603083613564565b91506145c68261455f565b604082019050919050565b600060208201905081810360008301526145ea816145ae565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000614627601f83613564565b9150614632826145f1565b602082019050919050565b600060208201905081810360008301526146568161461a565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b60006146b9602783613564565b91506146c48261465d565b604082019050919050565b600060208201905081810360008301526146e8816146ac565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b600061474b602683613564565b9150614756826146ef565b604082019050919050565b6000602082019050818103600083015261477a8161473e565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b60006147dd602683613564565b91506147e882614781565b604082019050919050565b6000602082019050818103600083015261480c816147d0565b9050919050565b600061481e82613669565b915061482983613669565b925082820390508181111561484157614840613e60565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006148a3602483613564565b91506148ae82614847565b604082019050919050565b600060208201905081810360008301526148d281614896565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614935602283613564565b9150614940826148d9565b604082019050919050565b6000602082019050818103600083015261496481614928565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006149a1601d83613564565b91506149ac8261496b565b602082019050919050565b600060208201905081810360008301526149d081614994565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614a33602583613564565b9150614a3e826149d7565b604082019050919050565b60006020820190508181036000830152614a6281614a26565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614ac5602383613564565b9150614ad082614a69565b604082019050919050565b60006020820190508181036000830152614af481614ab8565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614b57602683613564565b9150614b6282614afb565b604082019050919050565b60006020820190508181036000830152614b8681614b4a565b9050919050565b600081519050919050565b6000819050602082019050919050565b6000614bb4825161375c565b80915050919050565b6000614bc882614b8d565b82614bd284614b98565b9050614bdd81614ba8565b92506020821015614c1d57614c187fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802614306565b831692505b5050919050565b6000604082019050614c3960008301856136df565b614c4660208301846136df565b9392505050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000614c8e601783614c4d565b9150614c9982614c58565b601782019050919050565b6000614caf82613559565b614cb98185614c4d565b9350614cc9818560208601613575565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000614d0b601183614c4d565b9150614d1682614cd5565b601182019050919050565b6000614d2c82614c81565b9150614d388285614ca4565b9150614d4382614cfe565b9150614d4f8284614ca4565b91508190509392505050565b600060a082019050614d7060008301886137bf565b614d7d60208301876137bf565b614d8a60408301866137bf565b614d9760608301856136df565b614da4608083018461388d565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614de882613669565b9150614df383613669565b925082614e0357614e02614dae565b5b828204905092915050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000614e44601483613564565b9150614e4f82614e0e565b602082019050919050565b60006020820190508181036000830152614e7381614e37565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b6000614eb0601083613564565b9150614ebb82614e7a565b602082019050919050565b60006020820190508181036000830152614edf81614ea3565b9050919050565b6000608082019050614efb60008301876137bf565b614f086020830186613836565b614f1560408301856137bf565b614f2260608301846137bf565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000614f90601883613564565b9150614f9b82614f5a565b602082019050919050565b60006020820190508181036000830152614fbf81614f83565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000614ffc601f83613564565b915061500782614fc6565b602082019050919050565b6000602082019050818103600083015261502b81614fef565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b600061508e602283613564565b915061509982615032565b604082019050919050565b600060208201905081810360008301526150bd81615081565b9050919050565b60006150cf82613669565b91506150da83613669565b92508282026150e881613669565b915082820484148315176150ff576150fe613e60565b5b5092915050565b600061511182613669565b91506000820361512457615123613e60565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000615165602083613564565b91506151708261512f565b602082019050919050565b6000602082019050818103600083015261519481615158565b905091905056fea264697066735822122005a4a28c0a1c6f620e8b03f7bb6b330e1d135ea5c3376e28f349a0581f9e214464736f6c63430008120033

Deployed bytecode

0x608060405234801561001057600080fd5b506004361061021c5760003560e01c806370a0823111610125578063a217fddf116100ad578063d505accf1161007c578063d505accf146106a7578063d547741f146106c3578063dd62ed3e146106df578063e63ab1e91461070f578063f1127ed81461072d5761021c565b8063a217fddf1461060d578063a457c2d71461062b578063a9059cbb1461065b578063c3cda5201461068b5761021c565b80638e539e8c116100f45780638e539e8c1461054157806391d148541461057157806391ddadf4146105a157806395d89b41146105bf5780639ab24eb0146105dd5761021c565b806370a08231146104b35780637ecebe00146104e35780638456cb591461051357806384b0196e1461051d5761021c565b806336568abe116101a85780634bf5d7e9116101775780634bf5d7e9146103fb578063587cde1e146104195780635c19a95c146104495780635c975abb146104655780636fcfff45146104835761021c565b806336568abe1461037557806339509351146103915780633a46b1a8146103c15780633f4ba83a146103f15761021c565b806323b872dd116101ef57806323b872dd146102bd578063248a9ca3146102ed5780632f2ff15d1461031d578063313ce567146103395780633644e515146103575761021c565b806301ffc9a71461022157806306fdde0314610251578063095ea7b31461026f57806318160ddd1461029f575b600080fd5b61023b600480360381019061023691906134f6565b61075d565b604051610248919061353e565b60405180910390f35b6102596107d7565b60405161026691906135e9565b60405180910390f35b6102896004803603810190610284919061369f565b610869565b604051610296919061353e565b60405180910390f35b6102a761088c565b6040516102b491906136ee565b60405180910390f35b6102d760048036038101906102d29190613709565b610896565b6040516102e4919061353e565b60405180910390f35b61030760048036038101906103029190613792565b6108c5565b60405161031491906137ce565b60405180910390f35b610337600480360381019061033291906137e9565b6108e5565b005b610341610906565b60405161034e9190613845565b60405180910390f35b61035f61090f565b60405161036c91906137ce565b60405180910390f35b61038f600480360381019061038a91906137e9565b61091e565b005b6103ab60048036038101906103a6919061369f565b6109a1565b6040516103b8919061353e565b60405180910390f35b6103db60048036038101906103d6919061369f565b6109d8565b6040516103e891906136ee565b60405180910390f35b6103f9610a7b565b005b610403610ab0565b60405161041091906135e9565b60405180910390f35b610433600480360381019061042e9190613860565b610b3e565b604051610440919061389c565b60405180910390f35b610463600480360381019061045e9190613860565b610ba7565b005b61046d610bbb565b60405161047a919061353e565b60405180910390f35b61049d60048036038101906104989190613860565b610bd2565b6040516104aa91906138d6565b60405180910390f35b6104cd60048036038101906104c89190613860565b610c26565b6040516104da91906136ee565b60405180910390f35b6104fd60048036038101906104f89190613860565b610c6e565b60405161050a91906136ee565b60405180910390f35b61051b610cbe565b005b610525610cf3565b60405161053897969594939291906139ea565b60405180910390f35b61055b60048036038101906105569190613a6e565b610df5565b60405161056891906136ee565b60405180910390f35b61058b600480360381019061058691906137e9565b610e5a565b604051610598919061353e565b60405180910390f35b6105a9610ec5565b6040516105b69190613abc565b60405180910390f35b6105c7610ed5565b6040516105d491906135e9565b60405180910390f35b6105f760048036038101906105f29190613860565b610f67565b60405161060491906136ee565b60405180910390f35b61061561106f565b60405161062291906137ce565b60405180910390f35b6106456004803603810190610640919061369f565b611076565b604051610652919061353e565b60405180910390f35b6106756004803603810190610670919061369f565b6110ed565b604051610682919061353e565b60405180910390f35b6106a560048036038101906106a09190613b03565b611110565b005b6106c160048036038101906106bc9190613b90565b611214565b005b6106dd60048036038101906106d891906137e9565b611356565b005b6106f960048036038101906106f49190613c32565b611377565b60405161070691906136ee565b60405180910390f35b6107176113fe565b60405161072491906137ce565b60405180910390f35b61074760048036038101906107429190613c9e565b611422565b6040516107549190613d53565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107d057506107cf826118d7565b5b9050919050565b6060600380546107e690613d9d565b80601f016020809104026020016040519081016040528092919081815260200182805461081290613d9d565b801561085f5780601f106108345761010080835404028352916020019161085f565b820191906000526020600020905b81548152906001019060200180831161084257829003601f168201915b5050505050905090565b600080610874611941565b9050610881818585611949565b600191505092915050565b6000600254905090565b6000806108a1611941565b90506108ae858285611b12565b6108b9858585611b9e565b60019150509392505050565b600060066000838152602001908152602001600020600101549050919050565b6108ee826108c5565b6108f781611e14565b6109018383611e28565b505050565b60006012905090565b6000610919611f09565b905090565b610926611941565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098a90613e40565b60405180910390fd5b61099d8282611fc0565b5050565b6000806109ac611941565b90506109cd8185856109be8589611377565b6109c89190613e8f565b611949565b600191505092915050565b60006109e2610ec5565b65ffffffffffff168210610a2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2290613f0f565b60405180910390fd5b610a73600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020836120a2565b905092915050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610aa581611e14565b610aad6121ea565b50565b606043610abb610ec5565b65ffffffffffff1614610b03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afa90613f7b565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610bb8610bb2611941565b8261224d565b50565b6000600560009054906101000a900460ff16905090565b6000610c1f600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506117e4565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610cb7600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612367565b9050919050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610ce881611e14565b610cf0612375565b50565b600060608060008060006060610d3360077f46464746460000000000000000000000000000000000000000000000000000056123d890919063ffffffff16565b610d6760087f31000000000000000000000000000000000000000000000000000000000000016123d890919063ffffffff16565b46306000801b600067ffffffffffffffff811115610d8857610d87613f9b565b5b604051908082528060200260200182016040528015610db65781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000610dff610ec5565b65ffffffffffff168210610e48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3f90613f0f565b60405180910390fd5b610e53600d836120a2565b9050919050565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000610ed043611867565b905090565b606060048054610ee490613d9d565b80601f0160208091040260200160405190810160405280929190818152602001828054610f1090613d9d565b8015610f5d5780601f10610f3257610100808354040283529160200191610f5d565b820191906000526020600020905b815481529060010190602001808311610f4057829003601f168201915b5050505050905090565b600080600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905090506000811461104657600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600182038154811061100b5761100a613fca565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611049565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b6000801b81565b600080611081611941565b9050600061108f8286611377565b9050838110156110d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cb9061406b565b60405180910390fd5b6110e18286868403611949565b60019250505092915050565b6000806110f8611941565b9050611105818585611b9e565b600191505092915050565b83421115611153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114a906140d7565b60405180910390fd5b60006111b56111ad7fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf89898960405160200161119294939291906140f7565b60405160208183030381529060405280519060200120612488565b8585856124a2565b90506111c0816124cd565b8614611201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f890614188565b60405180910390fd5b61120b818861224d565b50505050505050565b83421115611257576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124e906141f4565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886112868c6124cd565b8960405160200161129c96959493929190614214565b60405160208183030381529060405280519060200120905060006112bf82612488565b905060006112cf828787876124a2565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461133f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611336906142c1565b60405180910390fd5b61134a8a8a8a611949565b50505050505050505050565b61135f826108c5565b61136881611e14565b6113728383611fc0565b505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b61142a61345b565b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff168154811061148157611480613fca565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b600060208351101561154e576115478361252b565b9050611570565b8261155883611576565b6000019081611567919061448d565b5060ff60001b90505b92915050565b6000819050919050565b61158a828261160d565b611592612593565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166115b861088c565b11156115f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f0906145d1565b60405180910390fd5b611607600d611763836125b7565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361167c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116739061463d565b60405180910390fd5b61168860008383612892565b806002600082825461169a9190613e8f565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161174b91906136ee565b60405180910390a361175f600083836128aa565b5050565b600081836117719190613e8f565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80168211156117dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d3906146cf565b60405180910390fd5b819050919050565b600063ffffffff801682111561182f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182690614761565b60405180910390fd5b819050919050565b505050565b6118478383836118bc565b61186261185384610b3e565b61185c84610b3e565b836128ba565b505050565b600065ffffffffffff80168211156118b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ab906147f3565b60405180910390fd5b819050919050565b505050565b600081836118cf9190614813565b905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119af906148b9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1e9061494b565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b0591906136ee565b60405180910390a3505050565b6000611b1e8484611377565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611b985781811015611b8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b81906149b7565b60405180910390fd5b611b978484848403611949565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0490614a49565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7390614adb565b60405180910390fd5b611c87838383612892565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611d0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0490614b6d565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611dfb91906136ee565b60405180910390a3611e0e8484846128aa565b50505050565b611e2581611e20611941565b612ab3565b50565b611e328282610e5a565b611f055760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611eaa611941565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60007f000000000000000000000000da07c1db6e338b2969dc6a7d04a526280639ca2373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611f8557507f0000000000000000000000000000000000000000000000000000000000000a4146145b15611fb2577fd285b6c8426b779173f43bd99482277944db7bf78f6389174d643b2e39bec3469050611fbd565b611fba612b38565b90505b90565b611fca8282610e5a565b1561209e5760006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550612043611941565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000808380549050905060008082905060058311156121185760006120c684612bce565b846120d19190614813565b9050856120de8883612cc7565b60000160009054906101000a900463ffffffff1663ffffffff16111561210657809150612116565b6001816121139190613e8f565b92505b505b5b8082101561217857600061212d8383612cdc565b90508561213a8883612cc7565b60000160009054906101000a900463ffffffff1663ffffffff16111561216257809150612172565b60018161216f9190613e8f565b92505b50612119565b600081146121be5761218d8660018303612cc7565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166121c1565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b6121f2612d02565b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa612236611941565b604051612243919061389c565b60405180910390a1565b600061225883610b3e565b9050600061226584610c26565b905082600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46123618284836128ba565b50505050565b600081600001549050919050565b61237d612d4b565b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586123c1611941565b6040516123ce919061389c565b60405180910390a1565b606060ff60001b83146123f5576123ee83612d95565b9050612482565b81805461240190613d9d565b80601f016020809104026020016040519081016040528092919081815260200182805461242d90613d9d565b801561247a5780601f1061244f5761010080835404028352916020019161247a565b820191906000526020600020905b81548152906001019060200180831161245d57829003601f168201915b505050505090505b92915050565b600061249b612495611f09565b83612e09565b9050919050565b60008060006124b387878787612e4a565b915091506124c081612f2c565b8192505050949350505050565b600080600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061251a81612367565b915061252581613092565b50919050565b600080829050601f8151111561257857826040517f305a27a900000000000000000000000000000000000000000000000000000000815260040161256f91906135e9565b60405180910390fd5b80518161258490614bbd565b60001c1760001b915050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b600080600085805490509050600080821461267d576125d98760018403612cc7565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16815250506126b9565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1693506126ee84868863ffffffff16565b92506000821180156127185750612703610ec5565b65ffffffffffff16816000015163ffffffff16145b156127895761272683611779565b6127338860018503612cc7565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550612888565b8660405180604001604052806127ad6127a0610ec5565b65ffffffffffff166117e4565b63ffffffff1681526020016127c186611779565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b61289a612d4b565b6128a5838383611837565b505050565b6128b583838361183c565b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156128f65750600081115b15612aae57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146129d45760008061297d600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206118c1856125b7565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516129c9929190614c24565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612aad57600080612a56600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611763856125b7565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612aa2929190614c24565b60405180910390a250505b5b505050565b612abd8282610e5a565b612b3457612aca816130a8565b612ad88360001c60206130d5565b604051602001612ae9929190614d21565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b2b91906135e9565b60405180910390fd5b5050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f44ed1191b6028cb069251962edfc3cbac1b156ad058d7bf7d4ce25cbcd1935bb7fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001612bb3959493929190614d5b565b60405160208183030381529060405280519060200120905090565b6000808203612be05760009050612cc2565b60006001612bed84613311565b901c6001901b90506001818481612c0757612c06614dae565b5b048201901c90506001818481612c2057612c1f614dae565b5b048201901c90506001818481612c3957612c38614dae565b5b048201901c90506001818481612c5257612c51614dae565b5b048201901c90506001818481612c6b57612c6a614dae565b5b048201901c90506001818481612c8457612c83614dae565b5b048201901c90506001818481612c9d57612c9c614dae565b5b048201901c9050612cbe81828581612cb857612cb7614dae565b5b046133f2565b9150505b919050565b60008260005281602060002001905092915050565b60006002828418612ced9190614ddd565b828416612cfa9190613e8f565b905092915050565b612d0a610bbb565b612d49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d4090614e5a565b60405180910390fd5b565b612d53610bbb565b15612d93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d8a90614ec6565b60405180910390fd5b565b60606000612da28361340b565b90506000602067ffffffffffffffff811115612dc157612dc0613f9b565b5b6040519080825280601f01601f191660200182016040528015612df35781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115612e85576000600391509150612f23565b600060018787878760405160008152602001604052604051612eaa9493929190614ee6565b6020604051602081039080840390855afa158015612ecc573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612f1a57600060019250925050612f23565b80600092509250505b94509492505050565b60006004811115612f4057612f3f614f2b565b5b816004811115612f5357612f52614f2b565b5b031561308f5760016004811115612f6d57612f6c614f2b565b5b816004811115612f8057612f7f614f2b565b5b03612fc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fb790614fa6565b60405180910390fd5b60026004811115612fd457612fd3614f2b565b5b816004811115612fe757612fe6614f2b565b5b03613027576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161301e90615012565b60405180910390fd5b6003600481111561303b5761303a614f2b565b5b81600481111561304e5761304d614f2b565b5b0361308e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613085906150a4565b60405180910390fd5b5b50565b6001816000016000828254019250508190555050565b60606130ce8273ffffffffffffffffffffffffffffffffffffffff16601460ff166130d5565b9050919050565b6060600060028360026130e891906150c4565b6130f29190613e8f565b67ffffffffffffffff81111561310b5761310a613f9b565b5b6040519080825280601f01601f19166020018201604052801561313d5781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061317557613174613fca565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106131d9576131d8613fca565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261321991906150c4565b6132239190613e8f565b90505b60018111156132c3577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061326557613264613fca565b5b1a60f81b82828151811061327c5761327b613fca565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806132bc90615106565b9050613226565b5060008414613307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132fe9061517b565b60405180910390fd5b8091505092915050565b600080600090506000608084901c111561333357608083901c92506080810190505b6000604084901c111561334e57604083901c92506040810190505b6000602084901c111561336957602083901c92506020810190505b6000601084901c111561338457601083901c92506010810190505b6000600884901c111561339f57600883901c92506008810190505b6000600484901c11156133ba57600483901c92506004810190505b6000600284901c11156133d557600283901c92506002810190505b6000600184901c11156133e9576001810190505b80915050919050565b60008183106134015781613403565b825b905092915050565b60008060ff8360001c169050601f811115613452576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6134d38161349e565b81146134de57600080fd5b50565b6000813590506134f0816134ca565b92915050565b60006020828403121561350c5761350b613499565b5b600061351a848285016134e1565b91505092915050565b60008115159050919050565b61353881613523565b82525050565b6000602082019050613553600083018461352f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613593578082015181840152602081019050613578565b60008484015250505050565b6000601f19601f8301169050919050565b60006135bb82613559565b6135c58185613564565b93506135d5818560208601613575565b6135de8161359f565b840191505092915050565b6000602082019050818103600083015261360381846135b0565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006136368261360b565b9050919050565b6136468161362b565b811461365157600080fd5b50565b6000813590506136638161363d565b92915050565b6000819050919050565b61367c81613669565b811461368757600080fd5b50565b60008135905061369981613673565b92915050565b600080604083850312156136b6576136b5613499565b5b60006136c485828601613654565b92505060206136d58582860161368a565b9150509250929050565b6136e881613669565b82525050565b600060208201905061370360008301846136df565b92915050565b60008060006060848603121561372257613721613499565b5b600061373086828701613654565b935050602061374186828701613654565b92505060406137528682870161368a565b9150509250925092565b6000819050919050565b61376f8161375c565b811461377a57600080fd5b50565b60008135905061378c81613766565b92915050565b6000602082840312156137a8576137a7613499565b5b60006137b68482850161377d565b91505092915050565b6137c88161375c565b82525050565b60006020820190506137e360008301846137bf565b92915050565b60008060408385031215613800576137ff613499565b5b600061380e8582860161377d565b925050602061381f85828601613654565b9150509250929050565b600060ff82169050919050565b61383f81613829565b82525050565b600060208201905061385a6000830184613836565b92915050565b60006020828403121561387657613875613499565b5b600061388484828501613654565b91505092915050565b6138968161362b565b82525050565b60006020820190506138b1600083018461388d565b92915050565b600063ffffffff82169050919050565b6138d0816138b7565b82525050565b60006020820190506138eb60008301846138c7565b92915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b613926816138f1565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61396181613669565b82525050565b60006139738383613958565b60208301905092915050565b6000602082019050919050565b60006139978261392c565b6139a18185613937565b93506139ac83613948565b8060005b838110156139dd5781516139c48882613967565b97506139cf8361397f565b9250506001810190506139b0565b5085935050505092915050565b600060e0820190506139ff600083018a61391d565b8181036020830152613a1181896135b0565b90508181036040830152613a2581886135b0565b9050613a3460608301876136df565b613a41608083018661388d565b613a4e60a08301856137bf565b81810360c0830152613a60818461398c565b905098975050505050505050565b600060208284031215613a8457613a83613499565b5b6000613a928482850161368a565b91505092915050565b600065ffffffffffff82169050919050565b613ab681613a9b565b82525050565b6000602082019050613ad16000830184613aad565b92915050565b613ae081613829565b8114613aeb57600080fd5b50565b600081359050613afd81613ad7565b92915050565b60008060008060008060c08789031215613b2057613b1f613499565b5b6000613b2e89828a01613654565b9650506020613b3f89828a0161368a565b9550506040613b5089828a0161368a565b9450506060613b6189828a01613aee565b9350506080613b7289828a0161377d565b92505060a0613b8389828a0161377d565b9150509295509295509295565b600080600080600080600060e0888a031215613baf57613bae613499565b5b6000613bbd8a828b01613654565b9750506020613bce8a828b01613654565b9650506040613bdf8a828b0161368a565b9550506060613bf08a828b0161368a565b9450506080613c018a828b01613aee565b93505060a0613c128a828b0161377d565b92505060c0613c238a828b0161377d565b91505092959891949750929550565b60008060408385031215613c4957613c48613499565b5b6000613c5785828601613654565b9250506020613c6885828601613654565b9150509250929050565b613c7b816138b7565b8114613c8657600080fd5b50565b600081359050613c9881613c72565b92915050565b60008060408385031215613cb557613cb4613499565b5b6000613cc385828601613654565b9250506020613cd485828601613c89565b9150509250929050565b613ce7816138b7565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b613d1e81613ced565b82525050565b604082016000820151613d3a6000850182613cde565b506020820151613d4d6020850182613d15565b50505050565b6000604082019050613d686000830184613d24565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613db557607f821691505b602082108103613dc857613dc7613d6e565b5b50919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613e2a602f83613564565b9150613e3582613dce565b604082019050919050565b60006020820190508181036000830152613e5981613e1d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613e9a82613669565b9150613ea583613669565b9250828201905080821115613ebd57613ebc613e60565b5b92915050565b7f4552433230566f7465733a20667574757265206c6f6f6b757000000000000000600082015250565b6000613ef9601983613564565b9150613f0482613ec3565b602082019050919050565b60006020820190508181036000830152613f2881613eec565b9050919050565b7f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f6465000000600082015250565b6000613f65601d83613564565b9150613f7082613f2f565b602082019050919050565b60006020820190508181036000830152613f9481613f58565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000614055602583613564565b915061406082613ff9565b604082019050919050565b6000602082019050818103600083015261408481614048565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b60006140c1601d83613564565b91506140cc8261408b565b602082019050919050565b600060208201905081810360008301526140f0816140b4565b9050919050565b600060808201905061410c60008301876137bf565b614119602083018661388d565b61412660408301856136df565b61413360608301846136df565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b6000614172601983613564565b915061417d8261413c565b602082019050919050565b600060208201905081810360008301526141a181614165565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b60006141de601d83613564565b91506141e9826141a8565b602082019050919050565b6000602082019050818103600083015261420d816141d1565b9050919050565b600060c08201905061422960008301896137bf565b614236602083018861388d565b614243604083018761388d565b61425060608301866136df565b61425d60808301856136df565b61426a60a08301846136df565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b60006142ab601e83613564565b91506142b682614275565b602082019050919050565b600060208201905081810360008301526142da8161429e565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026143437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614306565b61434d8683614306565b95508019841693508086168417925050509392505050565b6000819050919050565b600061438a61438561438084613669565b614365565b613669565b9050919050565b6000819050919050565b6143a48361436f565b6143b86143b082614391565b848454614313565b825550505050565b600090565b6143cd6143c0565b6143d881848461439b565b505050565b5b818110156143fc576143f16000826143c5565b6001810190506143de565b5050565b601f82111561444157614412816142e1565b61441b846142f6565b8101602085101561442a578190505b61443e614436856142f6565b8301826143dd565b50505b505050565b600082821c905092915050565b600061446460001984600802614446565b1980831691505092915050565b600061447d8383614453565b9150826002028217905092915050565b61449682613559565b67ffffffffffffffff8111156144af576144ae613f9b565b5b6144b98254613d9d565b6144c4828285614400565b600060209050601f8311600181146144f757600084156144e5578287015190505b6144ef8582614471565b865550614557565b601f198416614505866142e1565b60005b8281101561452d57848901518255600182019150602085019450602081019050614508565b8683101561454a5784890151614546601f891682614453565b8355505b6001600288020188555050505b505050505050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b60006145bb603083613564565b91506145c68261455f565b604082019050919050565b600060208201905081810360008301526145ea816145ae565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000614627601f83613564565b9150614632826145f1565b602082019050919050565b600060208201905081810360008301526146568161461a565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b60006146b9602783613564565b91506146c48261465d565b604082019050919050565b600060208201905081810360008301526146e8816146ac565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b600061474b602683613564565b9150614756826146ef565b604082019050919050565b6000602082019050818103600083015261477a8161473e565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b60006147dd602683613564565b91506147e882614781565b604082019050919050565b6000602082019050818103600083015261480c816147d0565b9050919050565b600061481e82613669565b915061482983613669565b925082820390508181111561484157614840613e60565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006148a3602483613564565b91506148ae82614847565b604082019050919050565b600060208201905081810360008301526148d281614896565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614935602283613564565b9150614940826148d9565b604082019050919050565b6000602082019050818103600083015261496481614928565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006149a1601d83613564565b91506149ac8261496b565b602082019050919050565b600060208201905081810360008301526149d081614994565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614a33602583613564565b9150614a3e826149d7565b604082019050919050565b60006020820190508181036000830152614a6281614a26565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614ac5602383613564565b9150614ad082614a69565b604082019050919050565b60006020820190508181036000830152614af481614ab8565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614b57602683613564565b9150614b6282614afb565b604082019050919050565b60006020820190508181036000830152614b8681614b4a565b9050919050565b600081519050919050565b6000819050602082019050919050565b6000614bb4825161375c565b80915050919050565b6000614bc882614b8d565b82614bd284614b98565b9050614bdd81614ba8565b92506020821015614c1d57614c187fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802614306565b831692505b5050919050565b6000604082019050614c3960008301856136df565b614c4660208301846136df565b9392505050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000614c8e601783614c4d565b9150614c9982614c58565b601782019050919050565b6000614caf82613559565b614cb98185614c4d565b9350614cc9818560208601613575565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000614d0b601183614c4d565b9150614d1682614cd5565b601182019050919050565b6000614d2c82614c81565b9150614d388285614ca4565b9150614d4382614cfe565b9150614d4f8284614ca4565b91508190509392505050565b600060a082019050614d7060008301886137bf565b614d7d60208301876137bf565b614d8a60408301866137bf565b614d9760608301856136df565b614da4608083018461388d565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614de882613669565b9150614df383613669565b925082614e0357614e02614dae565b5b828204905092915050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000614e44601483613564565b9150614e4f82614e0e565b602082019050919050565b60006020820190508181036000830152614e7381614e37565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b6000614eb0601083613564565b9150614ebb82614e7a565b602082019050919050565b60006020820190508181036000830152614edf81614ea3565b9050919050565b6000608082019050614efb60008301876137bf565b614f086020830186613836565b614f1560408301856137bf565b614f2260608301846137bf565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000614f90601883613564565b9150614f9b82614f5a565b602082019050919050565b60006020820190508181036000830152614fbf81614f83565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000614ffc601f83613564565b915061500782614fc6565b602082019050919050565b6000602082019050818103600083015261502b81614fef565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b600061508e602283613564565b915061509982615032565b604082019050919050565b600060208201905081810360008301526150bd81615081565b9050919050565b60006150cf82613669565b91506150da83613669565b92508282026150e881613669565b915082820484148315176150ff576150fe613e60565b5b5092915050565b600061511182613669565b91506000820361512457615123613e60565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000615165602083613564565b91506151708261512f565b602082019050919050565b6000602082019050818103600083015261519481615158565b905091905056fea264697066735822122005a4a28c0a1c6f620e8b03f7bb6b330e1d135ea5c3376e28f349a0581f9e214464736f6c63430008120033