Mainnet
Testnet
Dip (Dop)

Dip (Dop)

Overview

Max Total supply:
100,000
Dop
Holders:
1 addresses
Total transfers:
1

Token info

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

Creation bytecode

0x6101406040523480156200001257600080fd5b506040518060400160405280600381526020017f4469700000000000000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f44697000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f446f7000000000000000000000000000000000000000000000000000000000008152508160039081620000fd919062000ff8565b5080600490816200010f919062000ff8565b5050506000600560006101000a81548160ff0219169083151502179055506200014d620001416200024560201b60201c565b6200024d60201b60201c565b60008280519060200120905060008280519060200120905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f90508260e081815250508161010081815250504660a08181525050620001b68184846200031360201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250508061012081815250505050505050506200023f33620002156200034f60201b60201c565b600a6200022391906200126f565b620186a0620002339190620012c0565b6200035860201b60201c565b62001756565b600033905090565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008383834630604051602001620003309594939291906200137c565b6040516020818303038152906040528051906020012090509392505050565b60006012905090565b6200036f82826200037360201b620014c51760201c565b5050565b6200038a82826200043160201b620015521760201c565b6200039a6200059e60201b60201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16620003c8620005c260201b60201c565b11156200040c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004039062001460565b60405180910390fd5b6200042b600a620005cc60201b620016a81783620005e460201b60201c565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620004a3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200049a90620014d2565b60405180910390fd5b620004b760008383620008f160201b60201c565b8060026000828254620004cb9190620014f4565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200057e91906200152f565b60405180910390a36200059a600083836200091e60201b60201c565b5050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000600254905090565b60008183620005dc9190620014f4565b905092915050565b6000806000858054905090506000808214620006bf576200061a876001846200060e91906200154c565b6200093b60201b60201c565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050620006fb565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1693506200072e84868860201c565b92506000821180156200074a575043816000015163ffffffff16145b15620007dd5762000766836200095060201b620016be1760201c565b62000786886001856200077a91906200154c565b6200093b60201b60201c565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550620008e7565b866040518060400160405280620007ff43620009be60201b620017291760201c565b63ffffffff16815260200162000820866200095060201b620016be1760201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b6200090162000a1460201b60201c565b6200091983838362000a6960201b6200177c1760201c565b505050565b6200093683838362000a6e60201b620017811760201c565b505050565b60008260005281602060002001905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016821115620009b6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009ad90620015fd565b60405180910390fd5b819050919050565b600063ffffffff801682111562000a0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a039062001695565b60405180910390fd5b819050919050565b62000a2462000abe60201b60201c565b1562000a67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a5e9062001707565b60405180910390fd5b565b505050565b62000a8683838362000ad560201b620017ac1760201c565b62000ab962000a9b8462000ada60201b60201c565b62000aac8462000ada60201b60201c565b8362000b4360201b60201c565b505050565b6000600560009054906101000a900460ff16905090565b505050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801562000b805750600081115b1562000d6157600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000c735760008062000c1a600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002062000d6660201b620017b11785620005e460201b60201c565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000c6892919062001729565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000d605760008062000d07600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020620005cc60201b620016a81785620005e460201b60201c565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000d5592919062001729565b60405180910390a250505b5b505050565b6000818362000d7691906200154c565b905092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000e0057607f821691505b60208210810362000e165762000e1562000db8565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000e807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000e41565b62000e8c868362000e41565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000ed962000ed362000ecd8462000ea4565b62000eae565b62000ea4565b9050919050565b6000819050919050565b62000ef58362000eb8565b62000f0d62000f048262000ee0565b84845462000e4e565b825550505050565b600090565b62000f2462000f15565b62000f3181848462000eea565b505050565b5b8181101562000f595762000f4d60008262000f1a565b60018101905062000f37565b5050565b601f82111562000fa85762000f728162000e1c565b62000f7d8462000e31565b8101602085101562000f8d578190505b62000fa562000f9c8562000e31565b83018262000f36565b50505b505050565b600082821c905092915050565b600062000fcd6000198460080262000fad565b1980831691505092915050565b600062000fe8838362000fba565b9150826002028217905092915050565b620010038262000d7e565b67ffffffffffffffff8111156200101f576200101e62000d89565b5b6200102b825462000de7565b6200103882828562000f5d565b600060209050601f8311600181146200107057600084156200105b578287015190505b62001067858262000fda565b865550620010d7565b601f198416620010808662000e1c565b60005b82811015620010aa5784890151825560018201915060208501945060208101905062001083565b86831015620010ca5784890151620010c6601f89168262000fba565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200116d57808604811115620011455762001144620010df565b5b6001851615620011555780820291505b808102905062001165856200110e565b945062001125565b94509492505050565b6000826200118857600190506200125b565b816200119857600090506200125b565b8160018114620011b15760028114620011bc57620011f2565b60019150506200125b565b60ff841115620011d157620011d0620010df565b5b8360020a915084821115620011eb57620011ea620010df565b5b506200125b565b5060208310610133831016604e8410600b84101617156200122c5782820a905083811115620012265762001225620010df565b5b6200125b565b6200123b84848460016200111b565b92509050818404811115620012555762001254620010df565b5b81810290505b9392505050565b600060ff82169050919050565b60006200127c8262000ea4565b9150620012898362001262565b9250620012b87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462001176565b905092915050565b6000620012cd8262000ea4565b9150620012da8362000ea4565b9250828202620012ea8162000ea4565b91508282048414831517620013045762001303620010df565b5b5092915050565b6000819050919050565b62001320816200130b565b82525050565b620013318162000ea4565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620013648262001337565b9050919050565b620013768162001357565b82525050565b600060a08201905062001393600083018862001315565b620013a2602083018762001315565b620013b1604083018662001315565b620013c0606083018562001326565b620013cf60808301846200136b565b9695505050505050565b600082825260208201905092915050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b600062001448603083620013d9565b91506200145582620013ea565b604082019050919050565b600060208201905081810360008301526200147b8162001439565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620014ba601f83620013d9565b9150620014c78262001482565b602082019050919050565b60006020820190508181036000830152620014ed81620014ab565b9050919050565b6000620015018262000ea4565b91506200150e8362000ea4565b9250828201905080821115620015295762001528620010df565b5b92915050565b600060208201905062001546600083018462001326565b92915050565b6000620015598262000ea4565b9150620015668362000ea4565b9250828203905081811115620015815762001580620010df565b5b92915050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000620015e5602783620013d9565b9150620015f28262001587565b604082019050919050565b600060208201905081810360008301526200161881620015d6565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b60006200167d602683620013d9565b91506200168a826200161f565b604082019050919050565b60006020820190508181036000830152620016b0816200166e565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b6000620016ef601083620013d9565b9150620016fc82620016b7565b602082019050919050565b600060208201905081810360008301526200172281620016e0565b9050919050565b600060408201905062001740600083018562001326565b6200174f602083018462001326565b9392505050565b60805160a05160c05160e0516101005161012051614a1c620017a66000396000611d4801526000611d8a01526000611d6901526000611c9e01526000611cf401526000611d1d0152614a1c6000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c806370a082311161011a5780639ab24eb0116100ad578063d505accf1161007c578063d505accf14610627578063d9d98ce414610643578063dd62ed3e14610673578063f1127ed8146106a3578063f2fde38b146106d357610206565b80639ab24eb01461057b578063a457c2d7146105ab578063a9059cbb146105db578063c3cda5201461060b57610206565b80638456cb59116100e95780638456cb59146105055780638da5cb5b1461050f5780638e539e8c1461052d57806395d89b411461055d57610206565b806370a082311461047f578063715018a6146104af57806379cc6790146104b95780637ecebe00146104d557610206565b80633f4ba83a1161019d5780635c19a95c1161016c5780635c19a95c146103b55780635c975abb146103d15780635cffe9de146103ef578063613255ab1461041f5780636fcfff451461044f57610206565b80633f4ba83a1461034357806340c10f191461034d57806342966c6814610369578063587cde1e1461038557610206565b8063313ce567116101d9578063313ce567146102a75780633644e515146102c557806339509351146102e35780633a46b1a81461031357610206565b806306fdde031461020b578063095ea7b31461022957806318160ddd1461025957806323b872dd14610277575b600080fd5b6102136106ef565b604051610220919061305c565b60405180910390f35b610243600480360381019061023e919061311c565b610781565b6040516102509190613177565b60405180910390f35b6102616107a4565b60405161026e91906131a1565b60405180910390f35b610291600480360381019061028c91906131bc565b6107ae565b60405161029e9190613177565b60405180910390f35b6102af6107dd565b6040516102bc919061322b565b60405180910390f35b6102cd6107e6565b6040516102da919061325f565b60405180910390f35b6102fd60048036038101906102f8919061311c565b6107f5565b60405161030a9190613177565b60405180910390f35b61032d6004803603810190610328919061311c565b61082c565b60405161033a91906131a1565b60405180910390f35b61034b6108c0565b005b6103676004803603810190610362919061311c565b6108d2565b005b610383600480360381019061037e919061327a565b6108e8565b005b61039f600480360381019061039a91906132a7565b6108fc565b6040516103ac91906132e3565b60405180910390f35b6103cf60048036038101906103ca91906132a7565b610965565b005b6103d9610979565b6040516103e69190613177565b60405180910390f35b610409600480360381019061040491906133a1565b610990565b6040516104169190613177565b60405180910390f35b610439600480360381019061043491906132a7565b610b7d565b60405161044691906131a1565b60405180910390f35b610469600480360381019061046491906132a7565b610bf4565b6040516104769190613448565b60405180910390f35b610499600480360381019061049491906132a7565b610c48565b6040516104a691906131a1565b60405180910390f35b6104b7610c90565b005b6104d360048036038101906104ce919061311c565b610ca4565b005b6104ef60048036038101906104ea91906132a7565b610cc4565b6040516104fc91906131a1565b60405180910390f35b61050d610d14565b005b610517610d26565b60405161052491906132e3565b60405180910390f35b6105476004803603810190610542919061327a565b610d50565b60405161055491906131a1565b60405180910390f35b610565610da6565b604051610572919061305c565b60405180910390f35b610595600480360381019061059091906132a7565b610e38565b6040516105a291906131a1565b60405180910390f35b6105c560048036038101906105c0919061311c565b610f49565b6040516105d29190613177565b60405180910390f35b6105f560048036038101906105f0919061311c565b610fc0565b6040516106029190613177565b60405180910390f35b610625600480360381019061062091906134bb565b610fe3565b005b610641600480360381019061063c9190613548565b6110e7565b005b61065d6004803603810190610658919061311c565b611229565b60405161066a91906131a1565b60405180910390f35b61068d600480360381019061068891906135ea565b6112ab565b60405161069a91906131a1565b60405180910390f35b6106bd60048036038101906106b89190613656565b611332565b6040516106ca919061370b565b60405180910390f35b6106ed60048036038101906106e891906132a7565b611442565b005b6060600380546106fe90613755565b80601f016020809104026020016040519081016040528092919081815260200182805461072a90613755565b80156107775780601f1061074c57610100808354040283529160200191610777565b820191906000526020600020905b81548152906001019060200180831161075a57829003601f168201915b5050505050905090565b60008061078c6117c7565b90506107998185856117cf565b600191505092915050565b6000600254905090565b6000806107b96117c7565b90506107c6858285611998565b6107d1858585611a24565b60019150509392505050565b60006012905090565b60006107f0611c9a565b905090565b6000806108006117c7565b905061082181858561081285896112ab565b61081c91906137b5565b6117cf565b600191505092915050565b6000438210610870576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086790613835565b60405180910390fd5b6108b8600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083611db4565b905092915050565b6108c8611f05565b6108d0611f83565b565b6108da611f05565b6108e48282611fe6565b5050565b6108f96108f36117c7565b82611ff4565b50565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6109766109706117c7565b82612002565b50565b6000600560009054906101000a900460ff16905090565b600061099b85610b7d565b8411156109dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d4906138c7565b60405180910390fd5b60006109e98686611229565b90506109f58786611fe6565b7f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98773ffffffffffffffffffffffffffffffffffffffff166323e30c8b338989868a8a6040518763ffffffff1660e01b8152600401610a5996959493929190613934565b6020604051808303816000875af1158015610a78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9c91906139a5565b14610adc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad390613a44565b60405180910390fd5b6000610ae661211c565b9050610afe88308489610af991906137b5565b611998565b6000821480610b395750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b15610b5857610b53888388610b4e91906137b5565b611ff4565b610b6e565b610b628887611ff4565b610b6d888284611a24565b5b60019250505095945050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610bb9576000610bed565b610bc16107a4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610bec9190613a64565b5b9050919050565b6000610c41600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611729565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610c98611f05565b610ca26000612121565b565b610cb682610cb06117c7565b83611998565b610cc08282611ff4565b5050565b6000610d0d600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206121e7565b9050919050565b610d1c611f05565b610d246121f5565b565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000438210610d94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8b90613835565b60405180910390fd5b610d9f600a83611db4565b9050919050565b606060048054610db590613755565b80601f0160208091040260200160405190810160405280929190818152602001828054610de190613755565b8015610e2e5780601f10610e0357610100808354040283529160200191610e2e565b820191906000526020600020905b815481529060010190602001808311610e1157829003601f168201915b5050505050905090565b600080600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050905060008114610f2057600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600182610ed49190613a64565b81548110610ee557610ee4613a98565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16610f23565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b600080610f546117c7565b90506000610f6282866112ab565b905083811015610fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9e90613b39565b60405180910390fd5b610fb482868684036117cf565b60019250505092915050565b600080610fcb6117c7565b9050610fd8818585611a24565b600191505092915050565b83421115611026576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101d90613ba5565b60405180910390fd5b60006110886110807fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf8989896040516020016110659493929190613bc5565b60405160208183030381529060405280519060200120612258565b858585612272565b90506110938161229d565b86146110d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cb90613c56565b60405180910390fd5b6110de8188612002565b50505050505050565b8342111561112a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112190613cc2565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886111598c61229d565b8960405160200161116f96959493929190613ce2565b604051602081830303815290604052805190602001209050600061119282612258565b905060006111a282878787612272565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120990613d8f565b60405180910390fd5b61121d8a8a8a6117cf565b50505050505050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611299576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129090613dfb565b60405180910390fd5b6112a383836122fb565b905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61133a612f8e565b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff168154811061139157611390613a98565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b61144a611f05565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b090613e8d565b60405180910390fd5b6114c281612121565b50565b6114cf8282611552565b6114d7612303565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166114fd6107a4565b111561153e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153590613f1f565b60405180910390fd5b61154c600a6116a883612327565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b890613f8b565b60405180910390fd5b6115cd600083836125f6565b80600260008282546115df91906137b5565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161169091906131a1565b60405180910390a36116a46000838361260e565b5050565b600081836116b691906137b5565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016821115611721576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117189061401d565b60405180910390fd5b819050919050565b600063ffffffff8016821115611774576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176b906140af565b60405180910390fd5b819050919050565b505050565b61178c8383836117ac565b6117a7611798846108fc565b6117a1846108fc565b8361261e565b505050565b505050565b600081836117bf9190613a64565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361183e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183590614141565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a4906141d3565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161198b91906131a1565b60405180910390a3505050565b60006119a484846112ab565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611a1e5781811015611a10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a079061423f565b60405180910390fd5b611a1d84848484036117cf565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8a906142d1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af990614363565b60405180910390fd5b611b0d8383836125f6565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611b93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8a906143f5565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c8191906131a1565b60405180910390a3611c9484848461260e565b50505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611d1657507f000000000000000000000000000000000000000000000000000000000000000046145b15611d43577f00000000000000000000000000000000000000000000000000000000000000009050611db1565b611dae7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000612817565b90505b90565b600080838054905090506000808290506005831115611e2a576000611dd884612851565b84611de39190613a64565b905085611df0888361294a565b60000160009054906101000a900463ffffffff1663ffffffff161115611e1857809150611e28565b600181611e2591906137b5565b92505b505b5b80821015611e8a576000611e3f838361295f565b905085611e4c888361294a565b60000160009054906101000a900463ffffffff1663ffffffff161115611e7457809150611e84565b600181611e8191906137b5565b92505b50611e2b565b60008114611ed957611ea886600183611ea39190613a64565b61294a565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611edc565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b611f0d6117c7565b73ffffffffffffffffffffffffffffffffffffffff16611f2b610d26565b73ffffffffffffffffffffffffffffffffffffffff1614611f81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7890614461565b60405180910390fd5b565b611f8b612985565b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611fcf6117c7565b604051611fdc91906132e3565b60405180910390a1565b611ff082826114c5565b5050565b611ffe82826129ce565b5050565b600061200d836108fc565b9050600061201a84610c48565b905082600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a461211682848361261e565b50505050565b600090565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081600001549050919050565b6121fd6129ec565b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586122416117c7565b60405161224e91906132e3565b60405180910390a1565b600061226b612265611c9a565b83612a36565b9050919050565b600080600061228387878787612a69565b9150915061229081612b4b565b8192505050949350505050565b600080600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506122ea816121e7565b91506122f581612cb1565b50919050565b600092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b60008060008580549050905060008082146123f6576123528760018461234d9190613a64565b61294a565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050612432565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935061246784868863ffffffff16565b9250600082118015612482575043816000015163ffffffff16145b156124fc57612490836116be565b6124a6886001856124a19190613a64565b61294a565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055506125ec565b86604051806040016040528061251143611729565b63ffffffff168152602001612525866116be565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b6125fe6129ec565b61260983838361177c565b505050565b612619838383611781565b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561265a5750600081115b1561281257600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612738576000806126e1600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206117b185612327565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161272d929190614481565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612811576000806127ba600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206116a885612327565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612806929190614481565b60405180910390a250505b5b505050565b600083838346306040516020016128329594939291906144aa565b6040516020818303038152906040528051906020012090509392505050565b60008082036128635760009050612945565b6000600161287084612cc7565b901c6001901b9050600181848161288a576128896144fd565b5b048201901c905060018184816128a3576128a26144fd565b5b048201901c905060018184816128bc576128bb6144fd565b5b048201901c905060018184816128d5576128d46144fd565b5b048201901c905060018184816128ee576128ed6144fd565b5b048201901c90506001818481612907576129066144fd565b5b048201901c905060018184816129205761291f6144fd565b5b048201901c90506129418182858161293b5761293a6144fd565b5b04612da8565b9150505b919050565b60008260005281602060002001905092915050565b60006002828418612970919061452c565b82841661297d91906137b5565b905092915050565b61298d610979565b6129cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129c3906145a9565b60405180910390fd5b565b6129d88282612dc1565b6129e6600a6117b183612327565b50505050565b6129f4610979565b15612a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2b90614615565b60405180910390fd5b565b60008282604051602001612a4b9291906146ad565b60405160208183030381529060405280519060200120905092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115612aa4576000600391509150612b42565b600060018787878760405160008152602001604052604051612ac994939291906146e4565b6020604051602081039080840390855afa158015612aeb573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612b3957600060019250925050612b42565b80600092509250505b94509492505050565b60006004811115612b5f57612b5e614729565b5b816004811115612b7257612b71614729565b5b0315612cae5760016004811115612b8c57612b8b614729565b5b816004811115612b9f57612b9e614729565b5b03612bdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bd6906147a4565b60405180910390fd5b60026004811115612bf357612bf2614729565b5b816004811115612c0657612c05614729565b5b03612c46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c3d90614810565b60405180910390fd5b60036004811115612c5a57612c59614729565b5b816004811115612c6d57612c6c614729565b5b03612cad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ca4906148a2565b60405180910390fd5b5b50565b6001816000016000828254019250508190555050565b600080600090506000608084901c1115612ce957608083901c92506080810190505b6000604084901c1115612d0457604083901c92506040810190505b6000602084901c1115612d1f57602083901c92506020810190505b6000601084901c1115612d3a57601083901c92506010810190505b6000600884901c1115612d5557600883901c92506008810190505b6000600484901c1115612d7057600483901c92506004810190505b6000600284901c1115612d8b57600283901c92506002810190505b6000600184901c1115612d9f576001810190505b80915050919050565b6000818310612db75781612db9565b825b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612e30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e2790614934565b60405180910390fd5b612e3c826000836125f6565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612ec2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eb9906149c6565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612f7591906131a1565b60405180910390a3612f898360008461260e565b505050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b83811015613006578082015181840152602081019050612feb565b60008484015250505050565b6000601f19601f8301169050919050565b600061302e82612fcc565b6130388185612fd7565b9350613048818560208601612fe8565b61305181613012565b840191505092915050565b600060208201905081810360008301526130768184613023565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006130b382613088565b9050919050565b6130c3816130a8565b81146130ce57600080fd5b50565b6000813590506130e0816130ba565b92915050565b6000819050919050565b6130f9816130e6565b811461310457600080fd5b50565b600081359050613116816130f0565b92915050565b600080604083850312156131335761313261307e565b5b6000613141858286016130d1565b925050602061315285828601613107565b9150509250929050565b60008115159050919050565b6131718161315c565b82525050565b600060208201905061318c6000830184613168565b92915050565b61319b816130e6565b82525050565b60006020820190506131b66000830184613192565b92915050565b6000806000606084860312156131d5576131d461307e565b5b60006131e3868287016130d1565b93505060206131f4868287016130d1565b925050604061320586828701613107565b9150509250925092565b600060ff82169050919050565b6132258161320f565b82525050565b6000602082019050613240600083018461321c565b92915050565b6000819050919050565b61325981613246565b82525050565b60006020820190506132746000830184613250565b92915050565b6000602082840312156132905761328f61307e565b5b600061329e84828501613107565b91505092915050565b6000602082840312156132bd576132bc61307e565b5b60006132cb848285016130d1565b91505092915050565b6132dd816130a8565b82525050565b60006020820190506132f860008301846132d4565b92915050565b6000613309826130a8565b9050919050565b613319816132fe565b811461332457600080fd5b50565b60008135905061333681613310565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126133615761336061333c565b5b8235905067ffffffffffffffff81111561337e5761337d613341565b5b60208301915083600182028301111561339a57613399613346565b5b9250929050565b6000806000806000608086880312156133bd576133bc61307e565b5b60006133cb88828901613327565b95505060206133dc888289016130d1565b94505060406133ed88828901613107565b935050606086013567ffffffffffffffff81111561340e5761340d613083565b5b61341a8882890161334b565b92509250509295509295909350565b600063ffffffff82169050919050565b61344281613429565b82525050565b600060208201905061345d6000830184613439565b92915050565b61346c8161320f565b811461347757600080fd5b50565b60008135905061348981613463565b92915050565b61349881613246565b81146134a357600080fd5b50565b6000813590506134b58161348f565b92915050565b60008060008060008060c087890312156134d8576134d761307e565b5b60006134e689828a016130d1565b96505060206134f789828a01613107565b955050604061350889828a01613107565b945050606061351989828a0161347a565b935050608061352a89828a016134a6565b92505060a061353b89828a016134a6565b9150509295509295509295565b600080600080600080600060e0888a0312156135675761356661307e565b5b60006135758a828b016130d1565b97505060206135868a828b016130d1565b96505060406135978a828b01613107565b95505060606135a88a828b01613107565b94505060806135b98a828b0161347a565b93505060a06135ca8a828b016134a6565b92505060c06135db8a828b016134a6565b91505092959891949750929550565b600080604083850312156136015761360061307e565b5b600061360f858286016130d1565b9250506020613620858286016130d1565b9150509250929050565b61363381613429565b811461363e57600080fd5b50565b6000813590506136508161362a565b92915050565b6000806040838503121561366d5761366c61307e565b5b600061367b858286016130d1565b925050602061368c85828601613641565b9150509250929050565b61369f81613429565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6136d6816136a5565b82525050565b6040820160008201516136f26000850182613696565b50602082015161370560208501826136cd565b50505050565b600060408201905061372060008301846136dc565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061376d57607f821691505b6020821081036137805761377f613726565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006137c0826130e6565b91506137cb836130e6565b92508282019050808211156137e3576137e2613786565b5b92915050565b7f4552433230566f7465733a20626c6f636b206e6f7420796574206d696e656400600082015250565b600061381f601f83612fd7565b915061382a826137e9565b602082019050919050565b6000602082019050818103600083015261384e81613812565b9050919050565b7f4552433230466c6173684d696e743a20616d6f756e742065786365656473206d60008201527f6178466c6173684c6f616e000000000000000000000000000000000000000000602082015250565b60006138b1602b83612fd7565b91506138bc82613855565b604082019050919050565b600060208201905081810360008301526138e0816138a4565b9050919050565b600082825260208201905092915050565b82818337600083830152505050565b600061391383856138e7565b93506139208385846138f8565b61392983613012565b840190509392505050565b600060a08201905061394960008301896132d4565b61395660208301886132d4565b6139636040830187613192565b6139706060830186613192565b8181036080830152613983818486613907565b9050979650505050505050565b60008151905061399f8161348f565b92915050565b6000602082840312156139bb576139ba61307e565b5b60006139c984828501613990565b91505092915050565b7f4552433230466c6173684d696e743a20696e76616c69642072657475726e207660008201527f616c756500000000000000000000000000000000000000000000000000000000602082015250565b6000613a2e602483612fd7565b9150613a39826139d2565b604082019050919050565b60006020820190508181036000830152613a5d81613a21565b9050919050565b6000613a6f826130e6565b9150613a7a836130e6565b9250828203905081811115613a9257613a91613786565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613b23602583612fd7565b9150613b2e82613ac7565b604082019050919050565b60006020820190508181036000830152613b5281613b16565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b6000613b8f601d83612fd7565b9150613b9a82613b59565b602082019050919050565b60006020820190508181036000830152613bbe81613b82565b9050919050565b6000608082019050613bda6000830187613250565b613be760208301866132d4565b613bf46040830185613192565b613c016060830184613192565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b6000613c40601983612fd7565b9150613c4b82613c0a565b602082019050919050565b60006020820190508181036000830152613c6f81613c33565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b6000613cac601d83612fd7565b9150613cb782613c76565b602082019050919050565b60006020820190508181036000830152613cdb81613c9f565b9050919050565b600060c082019050613cf76000830189613250565b613d0460208301886132d4565b613d1160408301876132d4565b613d1e6060830186613192565b613d2b6080830185613192565b613d3860a0830184613192565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b6000613d79601e83612fd7565b9150613d8482613d43565b602082019050919050565b60006020820190508181036000830152613da881613d6c565b9050919050565b7f4552433230466c6173684d696e743a2077726f6e6720746f6b656e0000000000600082015250565b6000613de5601b83612fd7565b9150613df082613daf565b602082019050919050565b60006020820190508181036000830152613e1481613dd8565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613e77602683612fd7565b9150613e8282613e1b565b604082019050919050565b60006020820190508181036000830152613ea681613e6a565b9050919050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000613f09603083612fd7565b9150613f1482613ead565b604082019050919050565b60006020820190508181036000830152613f3881613efc565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000613f75601f83612fd7565b9150613f8082613f3f565b602082019050919050565b60006020820190508181036000830152613fa481613f68565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000614007602783612fd7565b915061401282613fab565b604082019050919050565b6000602082019050818103600083015261403681613ffa565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000614099602683612fd7565b91506140a48261403d565b604082019050919050565b600060208201905081810360008301526140c88161408c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061412b602483612fd7565b9150614136826140cf565b604082019050919050565b6000602082019050818103600083015261415a8161411e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006141bd602283612fd7565b91506141c882614161565b604082019050919050565b600060208201905081810360008301526141ec816141b0565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000614229601d83612fd7565b9150614234826141f3565b602082019050919050565b600060208201905081810360008301526142588161421c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006142bb602583612fd7565b91506142c68261425f565b604082019050919050565b600060208201905081810360008301526142ea816142ae565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061434d602383612fd7565b9150614358826142f1565b604082019050919050565b6000602082019050818103600083015261437c81614340565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006143df602683612fd7565b91506143ea82614383565b604082019050919050565b6000602082019050818103600083015261440e816143d2565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061444b602083612fd7565b915061445682614415565b602082019050919050565b6000602082019050818103600083015261447a8161443e565b9050919050565b60006040820190506144966000830185613192565b6144a36020830184613192565b9392505050565b600060a0820190506144bf6000830188613250565b6144cc6020830187613250565b6144d96040830186613250565b6144e66060830185613192565b6144f360808301846132d4565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614537826130e6565b9150614542836130e6565b925082614552576145516144fd565b5b828204905092915050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000614593601483612fd7565b915061459e8261455d565b602082019050919050565b600060208201905081810360008301526145c281614586565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b60006145ff601083612fd7565b915061460a826145c9565b602082019050919050565b6000602082019050818103600083015261462e816145f2565b9050919050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b6000614676600283614635565b915061468182614640565b600282019050919050565b6000819050919050565b6146a76146a282613246565b61468c565b82525050565b60006146b882614669565b91506146c48285614696565b6020820191506146d48284614696565b6020820191508190509392505050565b60006080820190506146f96000830187613250565b614706602083018661321c565b6147136040830185613250565b6147206060830184613250565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b600061478e601883612fd7565b915061479982614758565b602082019050919050565b600060208201905081810360008301526147bd81614781565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b60006147fa601f83612fd7565b9150614805826147c4565b602082019050919050565b60006020820190508181036000830152614829816147ed565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b600061488c602283612fd7565b915061489782614830565b604082019050919050565b600060208201905081810360008301526148bb8161487f565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061491e602183612fd7565b9150614929826148c2565b604082019050919050565b6000602082019050818103600083015261494d81614911565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006149b0602283612fd7565b91506149bb82614954565b604082019050919050565b600060208201905081810360008301526149df816149a3565b905091905056fea2646970667358221220c15d4bb31d47ff004ea347a8f501f9975c98ab6116fb7faf4125101b3ceed3ea64736f6c63430008120033

Deployed bytecode

0x608060405234801561001057600080fd5b50600436106102065760003560e01c806370a082311161011a5780639ab24eb0116100ad578063d505accf1161007c578063d505accf14610627578063d9d98ce414610643578063dd62ed3e14610673578063f1127ed8146106a3578063f2fde38b146106d357610206565b80639ab24eb01461057b578063a457c2d7146105ab578063a9059cbb146105db578063c3cda5201461060b57610206565b80638456cb59116100e95780638456cb59146105055780638da5cb5b1461050f5780638e539e8c1461052d57806395d89b411461055d57610206565b806370a082311461047f578063715018a6146104af57806379cc6790146104b95780637ecebe00146104d557610206565b80633f4ba83a1161019d5780635c19a95c1161016c5780635c19a95c146103b55780635c975abb146103d15780635cffe9de146103ef578063613255ab1461041f5780636fcfff451461044f57610206565b80633f4ba83a1461034357806340c10f191461034d57806342966c6814610369578063587cde1e1461038557610206565b8063313ce567116101d9578063313ce567146102a75780633644e515146102c557806339509351146102e35780633a46b1a81461031357610206565b806306fdde031461020b578063095ea7b31461022957806318160ddd1461025957806323b872dd14610277575b600080fd5b6102136106ef565b604051610220919061305c565b60405180910390f35b610243600480360381019061023e919061311c565b610781565b6040516102509190613177565b60405180910390f35b6102616107a4565b60405161026e91906131a1565b60405180910390f35b610291600480360381019061028c91906131bc565b6107ae565b60405161029e9190613177565b60405180910390f35b6102af6107dd565b6040516102bc919061322b565b60405180910390f35b6102cd6107e6565b6040516102da919061325f565b60405180910390f35b6102fd60048036038101906102f8919061311c565b6107f5565b60405161030a9190613177565b60405180910390f35b61032d6004803603810190610328919061311c565b61082c565b60405161033a91906131a1565b60405180910390f35b61034b6108c0565b005b6103676004803603810190610362919061311c565b6108d2565b005b610383600480360381019061037e919061327a565b6108e8565b005b61039f600480360381019061039a91906132a7565b6108fc565b6040516103ac91906132e3565b60405180910390f35b6103cf60048036038101906103ca91906132a7565b610965565b005b6103d9610979565b6040516103e69190613177565b60405180910390f35b610409600480360381019061040491906133a1565b610990565b6040516104169190613177565b60405180910390f35b610439600480360381019061043491906132a7565b610b7d565b60405161044691906131a1565b60405180910390f35b610469600480360381019061046491906132a7565b610bf4565b6040516104769190613448565b60405180910390f35b610499600480360381019061049491906132a7565b610c48565b6040516104a691906131a1565b60405180910390f35b6104b7610c90565b005b6104d360048036038101906104ce919061311c565b610ca4565b005b6104ef60048036038101906104ea91906132a7565b610cc4565b6040516104fc91906131a1565b60405180910390f35b61050d610d14565b005b610517610d26565b60405161052491906132e3565b60405180910390f35b6105476004803603810190610542919061327a565b610d50565b60405161055491906131a1565b60405180910390f35b610565610da6565b604051610572919061305c565b60405180910390f35b610595600480360381019061059091906132a7565b610e38565b6040516105a291906131a1565b60405180910390f35b6105c560048036038101906105c0919061311c565b610f49565b6040516105d29190613177565b60405180910390f35b6105f560048036038101906105f0919061311c565b610fc0565b6040516106029190613177565b60405180910390f35b610625600480360381019061062091906134bb565b610fe3565b005b610641600480360381019061063c9190613548565b6110e7565b005b61065d6004803603810190610658919061311c565b611229565b60405161066a91906131a1565b60405180910390f35b61068d600480360381019061068891906135ea565b6112ab565b60405161069a91906131a1565b60405180910390f35b6106bd60048036038101906106b89190613656565b611332565b6040516106ca919061370b565b60405180910390f35b6106ed60048036038101906106e891906132a7565b611442565b005b6060600380546106fe90613755565b80601f016020809104026020016040519081016040528092919081815260200182805461072a90613755565b80156107775780601f1061074c57610100808354040283529160200191610777565b820191906000526020600020905b81548152906001019060200180831161075a57829003601f168201915b5050505050905090565b60008061078c6117c7565b90506107998185856117cf565b600191505092915050565b6000600254905090565b6000806107b96117c7565b90506107c6858285611998565b6107d1858585611a24565b60019150509392505050565b60006012905090565b60006107f0611c9a565b905090565b6000806108006117c7565b905061082181858561081285896112ab565b61081c91906137b5565b6117cf565b600191505092915050565b6000438210610870576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086790613835565b60405180910390fd5b6108b8600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083611db4565b905092915050565b6108c8611f05565b6108d0611f83565b565b6108da611f05565b6108e48282611fe6565b5050565b6108f96108f36117c7565b82611ff4565b50565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6109766109706117c7565b82612002565b50565b6000600560009054906101000a900460ff16905090565b600061099b85610b7d565b8411156109dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d4906138c7565b60405180910390fd5b60006109e98686611229565b90506109f58786611fe6565b7f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98773ffffffffffffffffffffffffffffffffffffffff166323e30c8b338989868a8a6040518763ffffffff1660e01b8152600401610a5996959493929190613934565b6020604051808303816000875af1158015610a78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9c91906139a5565b14610adc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ad390613a44565b60405180910390fd5b6000610ae661211c565b9050610afe88308489610af991906137b5565b611998565b6000821480610b395750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b15610b5857610b53888388610b4e91906137b5565b611ff4565b610b6e565b610b628887611ff4565b610b6d888284611a24565b5b60019250505095945050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610bb9576000610bed565b610bc16107a4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610bec9190613a64565b5b9050919050565b6000610c41600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611729565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610c98611f05565b610ca26000612121565b565b610cb682610cb06117c7565b83611998565b610cc08282611ff4565b5050565b6000610d0d600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206121e7565b9050919050565b610d1c611f05565b610d246121f5565b565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000438210610d94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8b90613835565b60405180910390fd5b610d9f600a83611db4565b9050919050565b606060048054610db590613755565b80601f0160208091040260200160405190810160405280929190818152602001828054610de190613755565b8015610e2e5780601f10610e0357610100808354040283529160200191610e2e565b820191906000526020600020905b815481529060010190602001808311610e1157829003601f168201915b5050505050905090565b600080600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050905060008114610f2057600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600182610ed49190613a64565b81548110610ee557610ee4613a98565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16610f23565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b600080610f546117c7565b90506000610f6282866112ab565b905083811015610fa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9e90613b39565b60405180910390fd5b610fb482868684036117cf565b60019250505092915050565b600080610fcb6117c7565b9050610fd8818585611a24565b600191505092915050565b83421115611026576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101d90613ba5565b60405180910390fd5b60006110886110807fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf8989896040516020016110659493929190613bc5565b60405160208183030381529060405280519060200120612258565b858585612272565b90506110938161229d565b86146110d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cb90613c56565b60405180910390fd5b6110de8188612002565b50505050505050565b8342111561112a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112190613cc2565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886111598c61229d565b8960405160200161116f96959493929190613ce2565b604051602081830303815290604052805190602001209050600061119282612258565b905060006111a282878787612272565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120990613d8f565b60405180910390fd5b61121d8a8a8a6117cf565b50505050505050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611299576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129090613dfb565b60405180910390fd5b6112a383836122fb565b905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61133a612f8e565b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff168154811061139157611390613a98565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b61144a611f05565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b090613e8d565b60405180910390fd5b6114c281612121565b50565b6114cf8282611552565b6114d7612303565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166114fd6107a4565b111561153e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153590613f1f565b60405180910390fd5b61154c600a6116a883612327565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b890613f8b565b60405180910390fd5b6115cd600083836125f6565b80600260008282546115df91906137b5565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161169091906131a1565b60405180910390a36116a46000838361260e565b5050565b600081836116b691906137b5565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016821115611721576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117189061401d565b60405180910390fd5b819050919050565b600063ffffffff8016821115611774576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176b906140af565b60405180910390fd5b819050919050565b505050565b61178c8383836117ac565b6117a7611798846108fc565b6117a1846108fc565b8361261e565b505050565b505050565b600081836117bf9190613a64565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361183e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161183590614141565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a4906141d3565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161198b91906131a1565b60405180910390a3505050565b60006119a484846112ab565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611a1e5781811015611a10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a079061423f565b60405180910390fd5b611a1d84848484036117cf565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8a906142d1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af990614363565b60405180910390fd5b611b0d8383836125f6565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611b93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8a906143f5565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c8191906131a1565b60405180910390a3611c9484848461260e565b50505050565b60007f000000000000000000000000fca7d8e168b743bfc149552bf2c9b16f1942ceda73ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611d1657507f0000000000000000000000000000000000000000000000000000000000000a4146145b15611d43577f0d8b58b171302f8d35d6aef6daeddc70e5167df71a2fa97254bb9c18d2bb39a59050611db1565b611dae7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f010ea17d669b265639470fc5cc8197f80d788497c34984af8c76de10c3379c107fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6612817565b90505b90565b600080838054905090506000808290506005831115611e2a576000611dd884612851565b84611de39190613a64565b905085611df0888361294a565b60000160009054906101000a900463ffffffff1663ffffffff161115611e1857809150611e28565b600181611e2591906137b5565b92505b505b5b80821015611e8a576000611e3f838361295f565b905085611e4c888361294a565b60000160009054906101000a900463ffffffff1663ffffffff161115611e7457809150611e84565b600181611e8191906137b5565b92505b50611e2b565b60008114611ed957611ea886600183611ea39190613a64565b61294a565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611edc565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935050505092915050565b611f0d6117c7565b73ffffffffffffffffffffffffffffffffffffffff16611f2b610d26565b73ffffffffffffffffffffffffffffffffffffffff1614611f81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7890614461565b60405180910390fd5b565b611f8b612985565b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611fcf6117c7565b604051611fdc91906132e3565b60405180910390a1565b611ff082826114c5565b5050565b611ffe82826129ce565b5050565b600061200d836108fc565b9050600061201a84610c48565b905082600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a461211682848361261e565b50505050565b600090565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081600001549050919050565b6121fd6129ec565b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586122416117c7565b60405161224e91906132e3565b60405180910390a1565b600061226b612265611c9a565b83612a36565b9050919050565b600080600061228387878787612a69565b9150915061229081612b4b565b8192505050949350505050565b600080600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506122ea816121e7565b91506122f581612cb1565b50919050565b600092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b60008060008580549050905060008082146123f6576123528760018461234d9190613a64565b61294a565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050612432565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505b905080602001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16935061246784868863ffffffff16565b9250600082118015612482575043816000015163ffffffff16145b156124fc57612490836116be565b6124a6886001856124a19190613a64565b61294a565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055506125ec565b86604051806040016040528061251143611729565b63ffffffff168152602001612525866116be565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b5050935093915050565b6125fe6129ec565b61260983838361177c565b505050565b612619838383611781565b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561265a5750600081115b1561281257600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612738576000806126e1600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206117b185612327565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161272d929190614481565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612811576000806127ba600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206116a885612327565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612806929190614481565b60405180910390a250505b5b505050565b600083838346306040516020016128329594939291906144aa565b6040516020818303038152906040528051906020012090509392505050565b60008082036128635760009050612945565b6000600161287084612cc7565b901c6001901b9050600181848161288a576128896144fd565b5b048201901c905060018184816128a3576128a26144fd565b5b048201901c905060018184816128bc576128bb6144fd565b5b048201901c905060018184816128d5576128d46144fd565b5b048201901c905060018184816128ee576128ed6144fd565b5b048201901c90506001818481612907576129066144fd565b5b048201901c905060018184816129205761291f6144fd565b5b048201901c90506129418182858161293b5761293a6144fd565b5b04612da8565b9150505b919050565b60008260005281602060002001905092915050565b60006002828418612970919061452c565b82841661297d91906137b5565b905092915050565b61298d610979565b6129cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129c3906145a9565b60405180910390fd5b565b6129d88282612dc1565b6129e6600a6117b183612327565b50505050565b6129f4610979565b15612a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2b90614615565b60405180910390fd5b565b60008282604051602001612a4b9291906146ad565b60405160208183030381529060405280519060200120905092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115612aa4576000600391509150612b42565b600060018787878760405160008152602001604052604051612ac994939291906146e4565b6020604051602081039080840390855afa158015612aeb573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612b3957600060019250925050612b42565b80600092509250505b94509492505050565b60006004811115612b5f57612b5e614729565b5b816004811115612b7257612b71614729565b5b0315612cae5760016004811115612b8c57612b8b614729565b5b816004811115612b9f57612b9e614729565b5b03612bdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bd6906147a4565b60405180910390fd5b60026004811115612bf357612bf2614729565b5b816004811115612c0657612c05614729565b5b03612c46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c3d90614810565b60405180910390fd5b60036004811115612c5a57612c59614729565b5b816004811115612c6d57612c6c614729565b5b03612cad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ca4906148a2565b60405180910390fd5b5b50565b6001816000016000828254019250508190555050565b600080600090506000608084901c1115612ce957608083901c92506080810190505b6000604084901c1115612d0457604083901c92506040810190505b6000602084901c1115612d1f57602083901c92506020810190505b6000601084901c1115612d3a57601083901c92506010810190505b6000600884901c1115612d5557600883901c92506008810190505b6000600484901c1115612d7057600483901c92506004810190505b6000600284901c1115612d8b57600283901c92506002810190505b6000600184901c1115612d9f576001810190505b80915050919050565b6000818310612db75781612db9565b825b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612e30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e2790614934565b60405180910390fd5b612e3c826000836125f6565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612ec2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eb9906149c6565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612f7591906131a1565b60405180910390a3612f898360008461260e565b505050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081519050919050565b600082825260208201905092915050565b60005b83811015613006578082015181840152602081019050612feb565b60008484015250505050565b6000601f19601f8301169050919050565b600061302e82612fcc565b6130388185612fd7565b9350613048818560208601612fe8565b61305181613012565b840191505092915050565b600060208201905081810360008301526130768184613023565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006130b382613088565b9050919050565b6130c3816130a8565b81146130ce57600080fd5b50565b6000813590506130e0816130ba565b92915050565b6000819050919050565b6130f9816130e6565b811461310457600080fd5b50565b600081359050613116816130f0565b92915050565b600080604083850312156131335761313261307e565b5b6000613141858286016130d1565b925050602061315285828601613107565b9150509250929050565b60008115159050919050565b6131718161315c565b82525050565b600060208201905061318c6000830184613168565b92915050565b61319b816130e6565b82525050565b60006020820190506131b66000830184613192565b92915050565b6000806000606084860312156131d5576131d461307e565b5b60006131e3868287016130d1565b93505060206131f4868287016130d1565b925050604061320586828701613107565b9150509250925092565b600060ff82169050919050565b6132258161320f565b82525050565b6000602082019050613240600083018461321c565b92915050565b6000819050919050565b61325981613246565b82525050565b60006020820190506132746000830184613250565b92915050565b6000602082840312156132905761328f61307e565b5b600061329e84828501613107565b91505092915050565b6000602082840312156132bd576132bc61307e565b5b60006132cb848285016130d1565b91505092915050565b6132dd816130a8565b82525050565b60006020820190506132f860008301846132d4565b92915050565b6000613309826130a8565b9050919050565b613319816132fe565b811461332457600080fd5b50565b60008135905061333681613310565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126133615761336061333c565b5b8235905067ffffffffffffffff81111561337e5761337d613341565b5b60208301915083600182028301111561339a57613399613346565b5b9250929050565b6000806000806000608086880312156133bd576133bc61307e565b5b60006133cb88828901613327565b95505060206133dc888289016130d1565b94505060406133ed88828901613107565b935050606086013567ffffffffffffffff81111561340e5761340d613083565b5b61341a8882890161334b565b92509250509295509295909350565b600063ffffffff82169050919050565b61344281613429565b82525050565b600060208201905061345d6000830184613439565b92915050565b61346c8161320f565b811461347757600080fd5b50565b60008135905061348981613463565b92915050565b61349881613246565b81146134a357600080fd5b50565b6000813590506134b58161348f565b92915050565b60008060008060008060c087890312156134d8576134d761307e565b5b60006134e689828a016130d1565b96505060206134f789828a01613107565b955050604061350889828a01613107565b945050606061351989828a0161347a565b935050608061352a89828a016134a6565b92505060a061353b89828a016134a6565b9150509295509295509295565b600080600080600080600060e0888a0312156135675761356661307e565b5b60006135758a828b016130d1565b97505060206135868a828b016130d1565b96505060406135978a828b01613107565b95505060606135a88a828b01613107565b94505060806135b98a828b0161347a565b93505060a06135ca8a828b016134a6565b92505060c06135db8a828b016134a6565b91505092959891949750929550565b600080604083850312156136015761360061307e565b5b600061360f858286016130d1565b9250506020613620858286016130d1565b9150509250929050565b61363381613429565b811461363e57600080fd5b50565b6000813590506136508161362a565b92915050565b6000806040838503121561366d5761366c61307e565b5b600061367b858286016130d1565b925050602061368c85828601613641565b9150509250929050565b61369f81613429565b82525050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6136d6816136a5565b82525050565b6040820160008201516136f26000850182613696565b50602082015161370560208501826136cd565b50505050565b600060408201905061372060008301846136dc565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061376d57607f821691505b6020821081036137805761377f613726565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006137c0826130e6565b91506137cb836130e6565b92508282019050808211156137e3576137e2613786565b5b92915050565b7f4552433230566f7465733a20626c6f636b206e6f7420796574206d696e656400600082015250565b600061381f601f83612fd7565b915061382a826137e9565b602082019050919050565b6000602082019050818103600083015261384e81613812565b9050919050565b7f4552433230466c6173684d696e743a20616d6f756e742065786365656473206d60008201527f6178466c6173684c6f616e000000000000000000000000000000000000000000602082015250565b60006138b1602b83612fd7565b91506138bc82613855565b604082019050919050565b600060208201905081810360008301526138e0816138a4565b9050919050565b600082825260208201905092915050565b82818337600083830152505050565b600061391383856138e7565b93506139208385846138f8565b61392983613012565b840190509392505050565b600060a08201905061394960008301896132d4565b61395660208301886132d4565b6139636040830187613192565b6139706060830186613192565b8181036080830152613983818486613907565b9050979650505050505050565b60008151905061399f8161348f565b92915050565b6000602082840312156139bb576139ba61307e565b5b60006139c984828501613990565b91505092915050565b7f4552433230466c6173684d696e743a20696e76616c69642072657475726e207660008201527f616c756500000000000000000000000000000000000000000000000000000000602082015250565b6000613a2e602483612fd7565b9150613a39826139d2565b604082019050919050565b60006020820190508181036000830152613a5d81613a21565b9050919050565b6000613a6f826130e6565b9150613a7a836130e6565b9250828203905081811115613a9257613a91613786565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613b23602583612fd7565b9150613b2e82613ac7565b604082019050919050565b60006020820190508181036000830152613b5281613b16565b9050919050565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b6000613b8f601d83612fd7565b9150613b9a82613b59565b602082019050919050565b60006020820190508181036000830152613bbe81613b82565b9050919050565b6000608082019050613bda6000830187613250565b613be760208301866132d4565b613bf46040830185613192565b613c016060830184613192565b95945050505050565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b6000613c40601983612fd7565b9150613c4b82613c0a565b602082019050919050565b60006020820190508181036000830152613c6f81613c33565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b6000613cac601d83612fd7565b9150613cb782613c76565b602082019050919050565b60006020820190508181036000830152613cdb81613c9f565b9050919050565b600060c082019050613cf76000830189613250565b613d0460208301886132d4565b613d1160408301876132d4565b613d1e6060830186613192565b613d2b6080830185613192565b613d3860a0830184613192565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b6000613d79601e83612fd7565b9150613d8482613d43565b602082019050919050565b60006020820190508181036000830152613da881613d6c565b9050919050565b7f4552433230466c6173684d696e743a2077726f6e6720746f6b656e0000000000600082015250565b6000613de5601b83612fd7565b9150613df082613daf565b602082019050919050565b60006020820190508181036000830152613e1481613dd8565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613e77602683612fd7565b9150613e8282613e1b565b604082019050919050565b60006020820190508181036000830152613ea681613e6a565b9050919050565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b6000613f09603083612fd7565b9150613f1482613ead565b604082019050919050565b60006020820190508181036000830152613f3881613efc565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000613f75601f83612fd7565b9150613f8082613f3f565b602082019050919050565b60006020820190508181036000830152613fa481613f68565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000614007602783612fd7565b915061401282613fab565b604082019050919050565b6000602082019050818103600083015261403681613ffa565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000614099602683612fd7565b91506140a48261403d565b604082019050919050565b600060208201905081810360008301526140c88161408c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061412b602483612fd7565b9150614136826140cf565b604082019050919050565b6000602082019050818103600083015261415a8161411e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006141bd602283612fd7565b91506141c882614161565b604082019050919050565b600060208201905081810360008301526141ec816141b0565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000614229601d83612fd7565b9150614234826141f3565b602082019050919050565b600060208201905081810360008301526142588161421c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006142bb602583612fd7565b91506142c68261425f565b604082019050919050565b600060208201905081810360008301526142ea816142ae565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061434d602383612fd7565b9150614358826142f1565b604082019050919050565b6000602082019050818103600083015261437c81614340565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006143df602683612fd7565b91506143ea82614383565b604082019050919050565b6000602082019050818103600083015261440e816143d2565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061444b602083612fd7565b915061445682614415565b602082019050919050565b6000602082019050818103600083015261447a8161443e565b9050919050565b60006040820190506144966000830185613192565b6144a36020830184613192565b9392505050565b600060a0820190506144bf6000830188613250565b6144cc6020830187613250565b6144d96040830186613250565b6144e66060830185613192565b6144f360808301846132d4565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614537826130e6565b9150614542836130e6565b925082614552576145516144fd565b5b828204905092915050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000614593601483612fd7565b915061459e8261455d565b602082019050919050565b600060208201905081810360008301526145c281614586565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b60006145ff601083612fd7565b915061460a826145c9565b602082019050919050565b6000602082019050818103600083015261462e816145f2565b9050919050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b6000614676600283614635565b915061468182614640565b600282019050919050565b6000819050919050565b6146a76146a282613246565b61468c565b82525050565b60006146b882614669565b91506146c48285614696565b6020820191506146d48284614696565b6020820191508190509392505050565b60006080820190506146f96000830187613250565b614706602083018661321c565b6147136040830185613250565b6147206060830184613250565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b600061478e601883612fd7565b915061479982614758565b602082019050919050565b600060208201905081810360008301526147bd81614781565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b60006147fa601f83612fd7565b9150614805826147c4565b602082019050919050565b60006020820190508181036000830152614829816147ed565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b600061488c602283612fd7565b915061489782614830565b604082019050919050565b600060208201905081810360008301526148bb8161487f565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061491e602183612fd7565b9150614929826148c2565b604082019050919050565b6000602082019050818103600083015261494d81614911565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006149b0602283612fd7565b91506149bb82614954565b604082019050919050565b600060208201905081810360008301526149df816149a3565b905091905056fea2646970667358221220c15d4bb31d47ff004ea347a8f501f9975c98ab6116fb7faf4125101b3ceed3ea64736f6c63430008120033