erc20-demurrage-token

ERC20 token with redistributed continual demurrage
Info | Log | Files | Refs | README

DemurrageTokenSingleNocap.bin (52614B)


      1 6101006040523480156200001257600080fd5b50604051620066c3380380620066c3833981810160405281019062000038919062000859565b6801000000000000000083600f0b126200005157600080fd5b6200005b6200056e565b33600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508660069081620000ad919062000b7a565b508560079081620000bf919062000b7a565b508460ff16608081815250504260038190555060035460a08181525050603c83620000eb919062000c90565b60c081815250506200010d60016200029f640100000000026401000000009004565b600260006101000a8154816fffffffffffffffffffffffffffffffff0219169083600f0b6fffffffffffffffffffffffffffffffff1602179055506200016284620002c6640100000000026401000000009004565b600f0b60e081600f0b815250506200019e6000600260009054906101000a9004600f0b600060016200031a640100000000026401000000009004565b90506000819080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548168ffffffffffffffffff021916908368ffffffffffffffffff160217905550604082015181600001600d6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505081600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050505062000cdb565b6000677fffffffffffffff821115620002b757600080fd5b6040829060020a029050919050565b60008082600f0b13620002d857600080fd5b60806fb17217f7d1cf79abc9e3b39803f2f6af62000305846200039e640100000000026401000000009004565b600f0b02908060020a82049150509050919050565b620003246200056e565b6200032e6200056e565b82816000019063ffffffff16908163ffffffff168152505083816020019068ffffffffffffffffff16908168ffffffffffffffffff168152505067ffffffffffffffff8516816040019067ffffffffffffffff16908167ffffffffffffffff168152505080915050949350505050565b60008082600f0b13620003b057600080fd5b60008083600f0b9050680100000000000000008112620003ec576040819060008212600003808260020a82851804189250505090506040820191505b64010000000081126200041b576020819060008212600003808260020a82851804189250505090506020820191505b62010000811262000448576010819060008212600003808260020a82851804189250505090506010820191505b610100811262000474576008819060008212600003808260020a82851804189250505090506008820191505b601081126200049f576004819060008212600003808260020a82851804189250505090506004820191505b60048112620004ca576002819060008212600003808260020a82851804189250505090506002820191505b60028112620004da576001820191505b600060408084039060020a029050600083607f0386600f0b9060020a029050600067800000000000000090505b600081131562000561578182029150600060ff83908060020a8204915050905080607f0183908060020a8204915050925080820284019350506001819060008212600003808260020a828518041892505050905062000507565b5081945050505050919050565b6040518060600160405280600063ffffffff168152602001600068ffffffffffffffffff168152602001600067ffffffffffffffff1681525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200061382620005c8565b810181811067ffffffffffffffff82111715620006355762000634620005d9565b5b80604052505050565b60006200064a620005aa565b905062000658828262000608565b919050565b600067ffffffffffffffff8211156200067b576200067a620005d9565b5b6200068682620005c8565b9050602081019050919050565b60005b83811015620006b357808201518184015260208101905062000696565b60008484015250505050565b6000620006d6620006d0846200065d565b6200063e565b905082815260208101848484011115620006f557620006f4620005c3565b5b6200070284828562000693565b509392505050565b600082601f830112620007225762000721620005be565b5b815162000734848260208601620006bf565b91505092915050565b600060ff82169050919050565b62000755816200073d565b81146200076157600080fd5b50565b60008151905062000775816200074a565b92915050565b600081600f0b9050919050565b62000793816200077b565b81146200079f57600080fd5b50565b600081519050620007b38162000788565b92915050565b6000819050919050565b620007ce81620007b9565b8114620007da57600080fd5b50565b600081519050620007ee81620007c3565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200082182620007f4565b9050919050565b620008338162000814565b81146200083f57600080fd5b50565b600081519050620008538162000828565b92915050565b60008060008060008060c08789031215620008795762000878620005b4565b5b600087015167ffffffffffffffff8111156200089a5762000899620005b9565b5b620008a889828a016200070a565b965050602087015167ffffffffffffffff811115620008cc57620008cb620005b9565b5b620008da89828a016200070a565b9550506040620008ed89828a0162000764565b94505060606200090089828a01620007a2565b93505060806200091389828a01620007dd565b92505060a06200092689828a0162000842565b9150509295509295509295565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200098657607f821691505b6020821081036200099c576200099b6200093e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b60008160020a8302905092915050565b60006008830262000a097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620009c7565b62000a158683620009c7565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000a5862000a5262000a4c84620007b9565b62000a2d565b620007b9565b9050919050565b6000819050919050565b62000a748362000a37565b62000a8c62000a838262000a5f565b848454620009d7565b825550505050565b600090565b62000aa362000a94565b62000ab081848462000a69565b505050565b5b8181101562000ad85762000acc60008262000a99565b60018101905062000ab6565b5050565b601f82111562000b275762000af181620009a2565b62000afc84620009b7565b8101602085101562000b0c578190505b62000b2462000b1b85620009b7565b83018262000ab5565b50505b505050565b60008160020a8304905092915050565b600062000b4f6000198460080262000b2c565b1980831691505092915050565b600062000b6a838362000b3c565b9150826002028217905092915050565b62000b858262000933565b67ffffffffffffffff81111562000ba15762000ba0620005d9565b5b62000bad82546200096d565b62000bba82828562000adc565b600060209050601f83116001811462000bf2576000841562000bdd578287015190505b62000be9858262000b5c565b86555062000c59565b601f19841662000c0286620009a2565b60005b8281101562000c2c5784890151825560018201915060208501945060208101905062000c05565b8683101562000c4c578489015162000c48601f89168262000b3c565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000c9d82620007b9565b915062000caa83620007b9565b925082820262000cba81620007b9565b9150828204841483151762000cd45762000cd362000c61565b5b5092915050565b60805160a05160c05160e05161596862000d5b600039600081816119090152818161284e01528181612a3b0152612e370152600081816120560152818161281101528181612d8f01528181612fd40152613221015260008181612082015281816130000152818161324201526132870152600061196701526159686000f3fe608060405234801561001057600080fd5b50600436106103e2576000357c0100000000000000000000000000000000000000000000000000000000900480636a2d094e1161021c578063a457c2d711610137578063d89135cd116100ca578063e69571af11610099578063e69571af14610ce3578063e809529514610d13578063eda4e6d614610d31578063f2fde38b14610d4f576103e2565b8063d89135cd14610c35578063da2824a814610c53578063dd62ed3e14610c83578063e54063a614610cb3576103e2565b8063c0ab707711610106578063c0ab707714610bad578063d340ef8a14610bdd578063d5abeb0114610bfb578063d7a52fa914610c19576103e2565b8063a457c2d714610b11578063a9059cbb14610b41578063b1cb0db314610b71578063b470aade14610b8f576103e2565b80638832e6e3116101af57806394d008ef1161017e57806394d008ef14610a9b57806395d89b4114610ab75780639f24880814610ad5578063a2309ff814610af3576103e2565b80638832e6e314610a275780638da5cb5b14610a435780638f0b2d5d14610a615780638f1df6bc14610a7d576103e2565b80637445e33a116101eb5780637445e33a1461098b57806374bedb95146109bb57806384dde4af146109d957806386fe212d146109f7576103e2565b80636a2d094e146108f15780636f8b44b01461092157806370a082311461093d578063731f237c1461096d576103e2565b8063313334871161030c57806344df8e701161029f57806358b2833b1161026e57806358b2833b146108555780635ae06f7e146108735780635f408c04146108a35780636787a9be146108c1576103e2565b806344df8e70146107a757806347a50517146107c55780634abfbba2146107f557806351b4541c14610825576103e2565b806340452d91116102db57806340452d91146106f957806342966c681461072b578063449a52f81461075b57806344d171871461078b576103e2565b8063313334871461065d578063313ce5671461068d57806331a5995d146106ab57806339509351146106c9576103e2565b806318cbbcfc1161038457806323b872dd1161035357806323b872dd1461059d5780632a7aec09146105cd5780632b29ba23146105fd5780632c1758c11461062d576103e2565b806318cbbcfc146105015780631989c6a81461051f578063213d1e1e1461053d57806323a859441461056d576103e2565b8063095ea7b3116103c0578063095ea7b31461046557806309f28f3c1461049557806311c56615146104b357806318160ddd146104e3576103e2565b806301681a62146103e757806301ffc9a71461041757806306fdde0314610447575b600080fd5b61040160048036038101906103fc9190614b77565b610d7f565b60405161040e9190614bbd565b60405180910390f35b610431600480360381019061042c9190614c30565b610ecd565b60405161043e9190614c78565b60405180910390f35b61044f6111bb565b60405161045c9190614d23565b60405180910390f35b61047f600480360381019061047a9190614d71565b611249565b60405161048c9190614c78565b60405180910390f35b61049d6114a5565b6040516104aa9190614dcd565b60405180910390f35b6104cd60048036038101906104c89190614e14565b6114b8565b6040516104da9190614bbd565b60405180910390f35b6104eb611508565b6040516104f89190614bbd565b60405180910390f35b61050961151f565b6040516105169190614bbd565b60405180910390f35b610527611524565b6040516105349190614bbd565b60405180910390f35b61055760048036038101906105529190614ff5565b611530565b6040516105649190614bbd565b60405180910390f35b61058760048036038101906105829190614ff5565b611549565b6040516105949190614c78565b60405180910390f35b6105b760048036038101906105b29190615022565b6115b1565b6040516105c49190614c78565b60405180910390f35b6105e760048036038101906105e29190614ff5565b6117cf565b6040516105f49190614dcd565b60405180910390f35b61061760048036038101906106129190614b77565b611807565b6040516106249190614c78565b60405180910390f35b61064760048036038101906106429190615075565b6118b5565b6040516106549190614c78565b60405180910390f35b610677600480360381019061067291906150a2565b6118e8565b6040516106849190614bbd565b60405180910390f35b610695611965565b6040516106a29190614bbd565b60405180910390f35b6106b3611989565b6040516106c09190614bbd565b60405180910390f35b6106e360048036038101906106de9190614d71565b61198f565b6040516106f09190614c78565b60405180910390f35b610713600480360381019061070e9190615075565b611b25565b6040516107229392919061510f565b60405180910390f35b61074560048036038101906107409190615075565b611b94565b6040516107529190614c78565b60405180910390f35b61077560048036038101906107709190614d71565b611d65565b6040516107829190614c78565b60405180910390f35b6107a560048036038101906107a091906151ab565b611f3c565b005b6107af611fba565b6040516107bc9190614c78565b60405180910390f35b6107df60048036038101906107da9190614b77565b612009565b6040516107ec9190614bbd565b60405180910390f35b61080f600480360381019061080a9190615075565b612052565b60405161081c9190614bbd565b60405180910390f35b61083f600480360381019061083a9190615075565b6120b2565b60405161084c9190614bbd565b60405180910390f35b61085d6120d3565b60405161086a9190614bbd565b60405180910390f35b61088d60048036038101906108889190614b77565b6120d9565b60405161089a9190614c78565b60405180910390f35b6108ab6121e3565b6040516108b8919061523b565b60405180910390f35b6108db60048036038101906108d69190615075565b6122b0565b6040516108e89190614bbd565b60405180910390f35b61090b60048036038101906109069190615075565b6122f1565b6040516109189190614bbd565b60405180910390f35b61093b60048036038101906109369190615075565b612312565b005b61095760048036038101906109529190614b77565b6123da565b6040516109649190614bbd565b60405180910390f35b610975612441565b6040516109829190614bbd565b60405180910390f35b6109a560048036038101906109a09190614ff5565b612452565b6040516109b29190614bbd565b60405180910390f35b6109c3612480565b6040516109d09190614bbd565b60405180910390f35b6109e1612486565b6040516109ee9190615265565b60405180910390f35b610a116004803603810190610a0c9190615075565b6124ac565b604051610a1e9190614bbd565b60405180910390f35b610a416004803603810190610a3c91906151ab565b6125ed565b005b610a4b6125fe565b604051610a589190615265565b60405180910390f35b610a7b6004803603810190610a769190614b77565b612624565b005b610a856126d9565b604051610a929190614c78565b60405180910390f35b610ab56004803603810190610ab091906151ab565b61299a565b005b610abf6129ab565b604051610acc9190614d23565b60405180910390f35b610add612a39565b604051610aea9190614dcd565b60405180910390f35b610afb612a5d565b604051610b089190614bbd565b60405180910390f35b610b2b6004803603810190610b269190614d71565b612a67565b604051610b389190614c78565b60405180910390f35b610b5b6004803603810190610b569190614d71565b612c86565b604051610b689190614c78565b60405180910390f35b610b79612d87565b604051610b869190614bbd565b60405180910390f35b610b97612d8d565b604051610ba49190614bbd565b60405180910390f35b610bc76004803603810190610bc29190615075565b612db1565b604051610bd49190614bbd565b60405180910390f35b610be5612f38565b604051610bf29190614bbd565b60405180910390f35b610c03612f3e565b604051610c109190614bbd565b60405180910390f35b610c336004803603810190610c2e9190615075565b612f44565b005b610c3d613084565b604051610c4a9190614bbd565b60405180910390f35b610c6d6004803603810190610c689190614b77565b61308e565b604051610c7a9190614c78565b60405180910390f35b610c9d6004803603810190610c989190615280565b613162565b604051610caa9190614bbd565b60405180910390f35b610ccd6004803603810190610cc89190614ff5565b613187565b604051610cda9190614bbd565b60405180910390f35b610cfd6004803603810190610cf891906152c0565b61319b565b604051610d0a9190615396565b60405180910390f35b610d1b61321b565b604051610d2891906153dc565b60405180910390f35b610d39613285565b604051610d469190614bbd565b60405180910390f35b610d696004803603810190610d649190614b77565b6132a9565b604051610d769190614c78565b60405180910390f35b600080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e589190615426565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ebc9190614bbd565b60405180910390a380915050919050565b600063b61bc9417c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610f2157600190506111b6565b635878bcf47c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610f7357600190506111b6565b63bc4babdd7c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610fc557600190506111b6565b630d7491f87c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19160361101757600190506111b6565b63abe1f1f57c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19160361106957600190506111b6565b63841a0e947c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036110bb57600190506111b6565b6301ffc9a77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19160361110d57600190506111b6565b639493f8b27c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19160361115f57600190506111b6565b63d00179687c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036111b157600190506111b6565b600090505b919050565b600680546111c890615489565b80601f01602080910402602001604051908101604052809291908181526020018280546111f490615489565b80156112415780601f1061121657610100808354040283529160200191611241565b820191906000526020600020905b81548152906001019060200180831161122457829003601f168201915b505050505081565b60008060006112566121e3565b905060028160ff160361126e5760009250505061149f565b60008160ff1611156112b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ac90615506565b60405180910390fd5b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561137e576000841461137d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137490615572565b60405180910390fd5b5b6113866126d9565b5067800000000000000084116113a65761139f846122b0565b91506113b2565b67800000000000000091505b81600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925866040516114909190614bbd565b60405180910390a36001925050505b92915050565b600260009054906101000a9004600f0b81565b6000806114df6114c7856133f2565b6114da6114d460016133f2565b86613418565b61347f565b90506114ea816134fe565b67ffffffffffffffff16846114ff9190615592565b91505092915050565b6000600b5460085461151a9190615592565b905090565b600f81565b60008080549050905090565b6000816020015168ffffffffffffffffff169050919050565b600080826000015163ffffffff16111561156657600090506115ac565b6000826020015168ffffffffffffffffff16111561158757600090506115ac565b6000826040015167ffffffffffffffff1611156115a757600090506115ac565b600190505b919050565b6000806000806115bf6121e3565b905060028160ff16036115d857600093505050506117c8565b60008160ff16111561161f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161690615506565b60405180910390fd5b6116276126d9565b50611631856122b0565b925082600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156116bc57600080fd5b82600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117489190615592565b9250508190555061175a878785613533565b91508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516117b99190614bbd565b60405180910390a38193505050505b9392505050565b60008067ffffffffffffffff836040015160070b169050600081600f0b036117fe576117fb60016133f2565b90505b80915050919050565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806118ae5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b9050919050565b6000600f82106118c457600080fd5b600082036118d957600f6012541490506118e3565b8160125483161490505b919050565b6000806000806118f7866133f2565b9250611902856133f2565b915061192e7f00000000000000000000000000000000000000000000000000000000000000008361347f565b905061193981613556565b9050611945838261347f565b9050611950816134fe565b67ffffffffffffffff16935050505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60125481565b60008061199a6126d9565b506119a4836122b0565b905080600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a329190615426565b925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051611b129190614bbd565b60405180910390a3600191505092915050565b60008181548110611b3557600080fd5b906000526020600020016000915090508060000160009054906101000a900463ffffffff16908060000160049054906101000a900468ffffffffffffffffff169080600001600d9054906101000a900467ffffffffffffffff16905083565b600080611b9f6121e3565b60ff1614611bac57600080fd5b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611c515750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611c90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8790615612565b60405180910390fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611cdc57600080fd5b6000611ce7836122b0565b9050611cf333826135e3565b5082600b6000828254611d069190615426565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca584604051611d539190614bbd565b60405180910390a26001915050919050565b6000806000611d726121e3565b60ff1614611d7f57600080fd5b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611e245750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611e63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5a90615612565b60405180910390fd5b611e6b6126d9565b5060006011541115611e945760115483600854611e889190615426565b1115611e9357600080fd5b5b8260086000828254611ea69190615426565b92505081905550611eb6836122b0565b9050611ec284826136e7565b508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f885604051611f209190614bbd565b60405180910390a3611f306137a8565b50600191505092915050565b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611faa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa19061567e565b60405180910390fd5b611fb383611b94565b5050505050565b6000612004600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b94565b905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60007f000000000000000000000000000000000000000000000000000000000000000082612080919061569e565b7f00000000000000000000000000000000000000000000000000000000000000006120ab9190615426565b9050919050565b6000603c82426120c29190615592565b6120cc919061570f565b9050919050565b60035481565b60006120e8600160ff166118b5565b156120f257600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061217957503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b61218257600080fd5b6000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000601060009054906101000a900460ff161561220357600190506122ad565b6000600f540361221657600090506122ad565b600f5442106122a857612243603c600354612231919061570f565b600f5461223e9190615592565b612db1565b506001601060006101000a81548160ff0219169083151502179055507ff80dbaea4785589e52984ca36a31de106adc77759539a5c7d92883bf49692fe94260405161228e9190614bbd565b60405180910390a161229e6126d9565b50600290506122ad565b600090505b90565b6000806122d46122bf846133f2565b600260009054906101000a9004600f0b61396c565b90506122df816134fe565b67ffffffffffffffff16915050919050565b6000603c82426123019190615592565b61230b919061570f565b9050919050565b61231f600860ff166118b5565b1561232957600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461238357600080fd5b61238b611508565b811161239657600080fd5b6011547f9722adea12ab7ef86fc45b88f0e0b567639e8dddaae60261e08c03d747fbbfe6826040516123c89190614bbd565b60405180910390a28060118190555050565b6000806000806123f16123ec86612009565b6133f2565b92506123fe6003546120b2565b905061241983600260009054906101000a9004600f0b61347f565b9150612437612427836134fe565b67ffffffffffffffff16826118e8565b9350505050919050565b600061244d6000612db1565b905090565b600080600061246084611530565b915061246b846117cf565b905061247782826114b8565b92505050919050565b600a5481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461250857600080fd5b6010821061254b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125429061578c565b60405180910390fd5b6000601254831614612592576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612589906157f8565b60405180910390fd5b81601260008282541792505081905550600f6012541415157f6b7e2e653f93b645d4ed7292d6429f96637084363e477c8aaea1a43ed13c284e6012546040516125db9190614bbd565b60405180910390a26012549050919050565b6125f78484611d65565b5050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b612631600260ff166118b5565b1561263b57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461269557600080fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006126e3614ac9565b6126eb614ac9565b6126f3614ac9565b6000806000806000612703612441565b5061270c6139f8565b975061271788611549565b1561272d57600098505050505050505050612997565b60006009548154811061274357612742615818565b5b906000526020600020016040518060600160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a900468ffffffffffffffffff1668ffffffffffffffffff1668ffffffffffffffffff16815260200160008201600d9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff168152505095506127f088613187565b94506001856127ff9190615426565b905061280a866117cf565b9350603c857f000000000000000000000000000000000000000000000000000000000000000061283a919061569e565b612844919061570f565b915061288061287b7f0000000000000000000000000000000000000000000000000000000000000000612876856133f2565b61347f565b613556565b9250612896600084612890611508565b8461319b565b96506000879080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548168ffffffffffffffffff021916908368ffffffffffffffffff160217905550604082015181600001600d6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505061295287613b8e565b507f55d243082e019fce4009ccea5368b92e436c17586a1e793c7deda16df4e5d675816040516129829190614bbd565b60405180910390a16001985050505050505050505b90565b6129a48484611d65565b5050505050565b600780546129b890615489565b80601f01602080910402602001604051908101604052809291908181526020018280546129e490615489565b8015612a315780601f10612a0657610100808354040283529160200191612a31565b820191906000526020600020905b815481529060010190602001808311612a1457829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600854905090565b600080612a73836122b0565b905080600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612afe57600080fd5b612b066126d9565b5080600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612b939190615592565b925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051612c739190614bbd565b60405180910390a3600191505092915050565b600080600080612c946121e3565b905060028160ff1603612cad5760009350505050612d81565b60008160ff161115612cf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ceb90615506565b60405180910390fd5b612cfc6126d9565b50612d06856122b0565b9250612d13338785613533565b91508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051612d729190614bbd565b60405180910390a38193505050505b92915050565b600f5481565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806000806000601060009054906101000a900460ff1615612ddb576000945050505050612f33565b612de66003546120b2565b925060008303612dfd576000945050505050612f33565b600260009054906101000a9004600f0b9050600086118015612e1e57508286105b15612e27578592505b612e30836133f2565b9150612e5c7f00000000000000000000000000000000000000000000000000000000000000008361347f565b9350612e6784613556565b9350612e82600260009054906101000a9004600f0b8561347f565b600260006101000a8154816fffffffffffffffffffffffffffffffff0219169083600f0b6fffffffffffffffffffffffffffffffff160217905550603c83612eca919061569e565b600354612ed79190615426565b60038190555080600f0b836003547f1c9c74563c32efd114cb36fb5e432d9386c8254d08456614804a33a3088ab736600260009054906101000a9004600f0b604051612f239190614dcd565b60405180910390a4829450505050505b919050565b60095481565b60115481565b600080612f54600460ff166118b5565b15612f5e57600080fd5b601060009054906101000a900460ff1615612f7857600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612fd257600080fd5b7f000000000000000000000000000000000000000000000000000000000000000083612ffe919061569e565b7f00000000000000000000000000000000000000000000000000000000000000006130299190615426565b9150600f54821161303957600080fd5b600f54905081600f81905550807ff5bd6cb27a0006b5ea8618058a0d84719695cb6d984f4840bc1a54ca12ae4b7c600f546040516130779190614bbd565b60405180910390a2505050565b6000600b54905090565b600061309d600160ff166118b5565b156130a757600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461310157600080fd5b6001600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b600d602052816000526040600020602052806000526040600020600091509150505481565b6000816000015163ffffffff169050919050565b6131a3614ac9565b6131ab614ac9565b82816000019063ffffffff16908163ffffffff168152505083816020019068ffffffffffffffffff16908168ffffffffffffffffff168152505067ffffffffffffffff8516816040019067ffffffffffffffff16908167ffffffffffffffff168152505080915050949350505050565b600060017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004261326c9190615592565b613276919061570f565b6132809190615426565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461330657600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36001915050919050565b6000677fffffffffffffff82111561340957600080fd5b6040829060020a029050919050565b60008082600f0b84600f0b0390507fffffffffffffffffffffffffffffffff80000000000000000000000000000000600f0b811215801561346c57506f7fffffffffffffffffffffffffffffff600f0b8113155b61347557600080fd5b8091505092915050565b600080604083600f0b85600f0b029060008212600003808260020a82851804189250505090507fffffffffffffffffffffffffffffffff80000000000000000000000000000000600f0b81121580156134eb57506f7fffffffffffffffffffffffffffffff600f0b8113155b6134f457600080fd5b8091505092915050565b60008082600f0b121561351057600080fd5b604082600f0b9060008212600003808260020a8285180418925050509050919050565b600061353f84836135e3565b5061354a83836136e7565b50600190509392505050565b60006840000000000000000082600f0b1261357057600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000082600f0b12156135a457600090506135de565b6135db6080700171547652b82fe1777d0ffda0d23a7d1284600f0b029060008212600003808260020a828518041892505050613cad565b90505b919050565b6000806000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000840361363d576000925050506136e1565b61364685612009565b91508382101561368b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161368290615893565b60405180910390fd5b83826136979190615592565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001925050505b92915050565b6000806000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008403613741576000925050506137a2565b61374a85612009565b915083826137589190615426565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001925050505b92915050565b60006137b2614ac9565b60006137bc611508565b9050600060016000805490506137d29190615592565b815481106137e3576137e2615818565b5b906000526020600020016040518060600160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a900468ffffffffffffffffff1668ffffffffffffffffff1668ffffffffffffffffff16815260200160008201600d9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681525050915080826020019068ffffffffffffffffff16908168ffffffffffffffffff168152505081600060016000805490506138be9190615592565b815481106138cf576138ce615818565b5b9060005260206000200160008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548168ffffffffffffffffff021916908368ffffffffffffffffff160217905550604082015181600001600d6101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555090505060019250505090565b60008082600f0b0361397d57600080fd5b600082600f0b604085600f0b9060020a028161399c5761399b6156e0565b5b0590507fffffffffffffffffffffffffffffffff80000000000000000000000000000000600f0b81121580156139e557506f7fffffffffffffffffffffffffffffff600f0b8113155b6139ee57600080fd5b8091505092915050565b613a00614ac9565b613a08614ac9565b613a10614ac9565b60008060095481548110613a2757613a26615818565b5b906000526020600020016040518060600160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a900468ffffffffffffffffff1668ffffffffffffffffff1668ffffffffffffffffff16815260200160008201600d9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff168152505092503073ffffffffffffffffffffffffffffffffffffffff1663e80952956040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381865afa158015613b32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b5691906158df565b6fffffffffffffffffffffffffffffffff169050613b7383613187565b8111613b8457819350505050613b8b565b8293505050505b90565b6000806000613b9c84612452565b613ba4611508565b613bae9190615592565b9150600a54613bbc836122b0565b613bc69190615592565b9050613bf4600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826136e7565b50836000015163ffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f9a2a887706623ad3ff7fc85652deeceabe9fe1e00466c597972079ee91ea40d384604051613c689190614bbd565b60405180910390a3600160096000828254613c839190615426565b9250508190555080600a6000828254613c9c9190615426565b925050819055508192505050919050565b60006840000000000000000082600f0b12613cc757600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000082600f0b1215613cfb5760009050614ac4565b60006f80000000000000000000000000000000905060006780000000000000008416600f0b1315613d4957608070016a09e667f3bcc908b2fb1366ea957d3e8202908060020a820491505090505b60006740000000000000008416600f0b1315613d825760807001306fe0a31b7152de8d5a46305c85edec8202908060020a820491505090505b60006720000000000000008416600f0b1315613dbb5760807001172b83c7d517adcdf7c8c50eb14a791f8202908060020a820491505090505b60006710000000000000008416600f0b1315613df457608070010b5586cf9890f6298b92b71842a983638202908060020a820491505090505b60006708000000000000008416600f0b1315613e2d5760807001059b0d31585743ae7c548eb68ca417fd8202908060020a820491505090505b60006704000000000000008416600f0b1315613e66576080700102c9a3e778060ee6f7caca4f7a29bde88202908060020a820491505090505b60006702000000000000008416600f0b1315613e9f57608070010163da9fb33356d84a66ae336dcdfa3f8202908060020a820491505090505b60006701000000000000008416600f0b1315613ed8576080700100b1afa5abcbed6129ab13ec11dc95438202908060020a820491505090505b600066800000000000008416600f0b1315613f1057608070010058c86da1c09ea1ff19d294cf2f679b8202908060020a820491505090505b600066400000000000008416600f0b1315613f485760807001002c605e2e8cec506d21bfc89a23a00f8202908060020a820491505090505b600066200000000000008416600f0b1315613f80576080700100162f3904051fa128bca9c55c31e5df8202908060020a820491505090505b600066100000000000008416600f0b1315613fb85760807001000b175effdc76ba38e31671ca9397258202908060020a820491505090505b600066080000000000008416600f0b1315613ff0576080700100058ba01fb9f96d6cacd4b180917c3d8202908060020a820491505090505b600066040000000000008416600f0b131561402857608070010002c5cc37da9491d0985c348c68e7b38202908060020a820491505090505b600066020000000000008416600f0b13156140605760807001000162e525ee054754457d59952920268202908060020a820491505090505b600066010000000000008416600f0b131561409857608070010000b17255775c040618bf4a4ade83fc8202908060020a820491505090505b6000658000000000008416600f0b13156140cf5760807001000058b91b5bc9ae2eed81e9b7d4cfab8202908060020a820491505090505b6000654000000000008416600f0b1315614106576080700100002c5c89d5ec6ca4d7c8acc017b7c98202908060020a820491505090505b6000652000000000008416600f0b131561413d57608070010000162e43f4f831060e02d839a9d16d8202908060020a820491505090505b6000651000000000008416600f0b1315614174576080700100000b1721bcfc99d9f890ea069117638202908060020a820491505090505b6000650800000000008416600f0b13156141ab57608070010000058b90cf1e6d97f9ca14dbcc16288202908060020a820491505090505b6000650400000000008416600f0b13156141e25760807001000002c5c863b73f016468f6bac5ca2b8202908060020a820491505090505b6000650200000000008416600f0b1315614219576080700100000162e430e5a18f6119e3c02282a58202908060020a820491505090505b6000650100000000008416600f0b13156142505760807001000000b1721835514b86e6d96efd1bfe8202908060020a820491505090505b60006480000000008416600f0b1315614286576080700100000058b90c0b48c6be5df846c5b2ef8202908060020a820491505090505b60006440000000008416600f0b13156142bc57608070010000002c5c8601cc6b9e94213c72737a8202908060020a820491505090505b60006420000000008416600f0b13156142f25760807001000000162e42fff037df38aa2b219f068202908060020a820491505090505b60006410000000008416600f0b131561432857608070010000000b17217fba9c739aa5819f44f98202908060020a820491505090505b60006408000000008416600f0b131561435e5760807001000000058b90bfcdee5acd3c1cedc8238202908060020a820491505090505b60006404000000008416600f0b1315614394576080700100000002c5c85fe31f35a6a30da1be508202908060020a820491505090505b60006402000000008416600f0b13156143ca57608070010000000162e42ff0999ce3541b9fffcf8202908060020a820491505090505b60006401000000008416600f0b1315614400576080700100000000b17217f80f4ef5aadda455548202908060020a820491505090505b600063800000008416600f0b131561443557608070010000000058b90bfbf8479bd5a81b51ad8202908060020a820491505090505b600063400000008416600f0b131561446a5760807001000000002c5c85fdf84bd62ae30a74cc8202908060020a820491505090505b600063200000008416600f0b131561449f576080700100000000162e42fefb2fed257559bdaa8202908060020a820491505090505b600063100000008416600f0b13156144d45760807001000000000b17217f7d5a7716bba4a9ae8202908060020a820491505090505b600063080000008416600f0b1315614509576080700100000000058b90bfbe9ddbac5e109cce8202908060020a820491505090505b600063040000008416600f0b131561453e57608070010000000002c5c85fdf4b15de6f17eb0d8202908060020a820491505090505b600063020000008416600f0b13156145735760807001000000000162e42fefa494f1478fde058202908060020a820491505090505b600063010000008416600f0b13156145a857608070010000000000b17217f7d20cf927c8e94c8202908060020a820491505090505b6000628000008416600f0b13156145dc5760807001000000000058b90bfbe8f71cb4e4b33d8202908060020a820491505090505b6000624000008416600f0b1315614610576080700100000000002c5c85fdf477b662b269458202908060020a820491505090505b6000622000008416600f0b131561464457608070010000000000162e42fefa3ae53369388c8202908060020a820491505090505b6000621000008416600f0b1315614678576080700100000000000b17217f7d1d351a389d408202908060020a820491505090505b6000620800008416600f0b13156146ac57608070010000000000058b90bfbe8e8b2d3d4ede8202908060020a820491505090505b6000620400008416600f0b13156146e05760807001000000000002c5c85fdf4741bea6e77e8202908060020a820491505090505b6000620200008416600f0b1315614714576080700100000000000162e42fefa39fe95583c28202908060020a820491505090505b6000620100008416600f0b13156147485760807001000000000000b17217f7d1cfb72b45e18202908060020a820491505090505b60006180008416600f0b131561477b576080700100000000000058b90bfbe8e7cc35c3f08202908060020a820491505090505b60006140008416600f0b13156147ae57608070010000000000002c5c85fdf473e242ea388202908060020a820491505090505b60006120008416600f0b13156147e15760807001000000000000162e42fefa39f02b772c8202908060020a820491505090505b60006110008416600f0b131561481457608070010000000000000b17217f7d1cf7d83c1a8202908060020a820491505090505b60006108008416600f0b13156148475760807001000000000000058b90bfbe8e7bdcbe2e8202908060020a820491505090505b60006104008416600f0b131561487a576080700100000000000002c5c85fdf473dea871f8202908060020a820491505090505b60006102008416600f0b13156148ad57608070010000000000000162e42fefa39ef44d918202908060020a820491505090505b60006101008416600f0b13156148e0576080700100000000000000b17217f7d1cf79e9498202908060020a820491505090505b600060808416600f0b131561491257608070010000000000000058b90bfbe8e7bce5448202908060020a820491505090505b600060408416600f0b13156149445760807001000000000000002c5c85fdf473de6eca8202908060020a820491505090505b600060208416600f0b1315614976576080700100000000000000162e42fefa39ef366f8202908060020a820491505090505b600060108416600f0b13156149a85760807001000000000000000b17217f7d1cf79afa8202908060020a820491505090505b600060088416600f0b13156149da576080700100000000000000058b90bfbe8e7bcd6d8202908060020a820491505090505b600060048416600f0b1315614a0c57608070010000000000000002c5c85fdf473de6b28202908060020a820491505090505b600060028416600f0b1315614a3e5760807001000000000000000162e42fefa39ef3588202908060020a820491505090505b600060018416600f0b1315614a7057608070010000000000000000b17217f7d1cf79ab8202908060020a820491505090505b604083600f0b9060008212600003808260020a828518041892505050603f03600f0b81908060020a820491505090506f7fffffffffffffffffffffffffffffff600f0b811115614abf57600080fd5b809150505b919050565b6040518060600160405280600063ffffffff168152602001600068ffffffffffffffffff168152602001600067ffffffffffffffff1681525090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000614b4482614b19565b9050919050565b614b5481614b39565b8114614b5f57600080fd5b50565b600081359050614b7181614b4b565b92915050565b600060208284031215614b8d57614b8c614b0f565b5b6000614b9b84828501614b62565b91505092915050565b6000819050919050565b614bb781614ba4565b82525050565b6000602082019050614bd26000830184614bae565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b614c0d81614bd8565b8114614c1857600080fd5b50565b600081359050614c2a81614c04565b92915050565b600060208284031215614c4657614c45614b0f565b5b6000614c5484828501614c1b565b91505092915050565b60008115159050919050565b614c7281614c5d565b82525050565b6000602082019050614c8d6000830184614c69565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015614ccd578082015181840152602081019050614cb2565b60008484015250505050565b6000601f19601f8301169050919050565b6000614cf582614c93565b614cff8185614c9e565b9350614d0f818560208601614caf565b614d1881614cd9565b840191505092915050565b60006020820190508181036000830152614d3d8184614cea565b905092915050565b614d4e81614ba4565b8114614d5957600080fd5b50565b600081359050614d6b81614d45565b92915050565b60008060408385031215614d8857614d87614b0f565b5b6000614d9685828601614b62565b9250506020614da785828601614d5c565b9150509250929050565b600081600f0b9050919050565b614dc781614db1565b82525050565b6000602082019050614de26000830184614dbe565b92915050565b614df181614db1565b8114614dfc57600080fd5b50565b600081359050614e0e81614de8565b92915050565b60008060408385031215614e2b57614e2a614b0f565b5b6000614e3985828601614d5c565b9250506020614e4a85828601614dff565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b614e9182614cd9565b810181811067ffffffffffffffff82111715614eb057614eaf614e59565b5b80604052505050565b6000614ec3614b05565b9050614ecf8282614e88565b919050565b600063ffffffff82169050919050565b614eed81614ed4565b8114614ef857600080fd5b50565b600081359050614f0a81614ee4565b92915050565b600068ffffffffffffffffff82169050919050565b614f2e81614f10565b8114614f3957600080fd5b50565b600081359050614f4b81614f25565b92915050565b600067ffffffffffffffff82169050919050565b614f6e81614f51565b8114614f7957600080fd5b50565b600081359050614f8b81614f65565b92915050565b600060608284031215614fa757614fa6614e54565b5b614fb16060614eb9565b90506000614fc184828501614efb565b6000830152506020614fd584828501614f3c565b6020830152506040614fe984828501614f7c565b60408301525092915050565b60006060828403121561500b5761500a614b0f565b5b600061501984828501614f91565b91505092915050565b60008060006060848603121561503b5761503a614b0f565b5b600061504986828701614b62565b935050602061505a86828701614b62565b925050604061506b86828701614d5c565b9150509250925092565b60006020828403121561508b5761508a614b0f565b5b600061509984828501614d5c565b91505092915050565b600080604083850312156150b9576150b8614b0f565b5b60006150c785828601614d5c565b92505060206150d885828601614d5c565b9150509250929050565b6150eb81614ed4565b82525050565b6150fa81614f10565b82525050565b61510981614f51565b82525050565b600060608201905061512460008301866150e2565b61513160208301856150f1565b61513e6040830184615100565b949350505050565b600080fd5b600080fd5b600080fd5b60008083601f84011261516b5761516a615146565b5b8235905067ffffffffffffffff8111156151885761518761514b565b5b6020830191508360018202830111156151a4576151a3615150565b5b9250929050565b600080600080606085870312156151c5576151c4614b0f565b5b60006151d387828801614b62565b94505060206151e487828801614d5c565b935050604085013567ffffffffffffffff81111561520557615204614b14565b5b61521187828801615155565b925092505092959194509250565b600060ff82169050919050565b6152358161521f565b82525050565b6000602082019050615250600083018461522c565b92915050565b61525f81614b39565b82525050565b600060208201905061527a6000830184615256565b92915050565b6000806040838503121561529757615296614b0f565b5b60006152a585828601614b62565b92505060206152b685828601614b62565b9150509250929050565b600080600080608085870312156152da576152d9614b0f565b5b60006152e887828801614d5c565b94505060206152f987828801614dff565b935050604061530a87828801614d5c565b925050606061531b87828801614d5c565b91505092959194509250565b61533081614ed4565b82525050565b61533f81614f10565b82525050565b61534e81614f51565b82525050565b60608201600082015161536a6000850182615327565b50602082015161537d6020850182615336565b5060408201516153906040850182615345565b50505050565b60006060820190506153ab6000830184615354565b92915050565b60006fffffffffffffffffffffffffffffffff82169050919050565b6153d6816153b1565b82525050565b60006020820190506153f160008301846153cd565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061543182614ba4565b915061543c83614ba4565b9250828201905080821115615454576154536153f7565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806154a157607f821691505b6020821081036154b4576154b361545a565b5b50919050565b7f4558504952454400000000000000000000000000000000000000000000000000600082015250565b60006154f0600783614c9e565b91506154fb826154ba565b602082019050919050565b6000602082019050818103600083015261551f816154e3565b9050919050565b7f5a45524f5f464952535400000000000000000000000000000000000000000000600082015250565b600061555c600a83614c9e565b915061556782615526565b602082019050919050565b6000602082019050818103600083015261558b8161554f565b9050919050565b600061559d82614ba4565b91506155a883614ba4565b92508282039050818111156155c0576155bf6153f7565b5b92915050565b7f4552525f41434345535300000000000000000000000000000000000000000000600082015250565b60006155fc600a83614c9e565b9150615607826155c6565b602082019050919050565b6000602082019050818103600083015261562b816155ef565b9050919050565b7f4552525f4f4e4c595f53454c465f4255524e0000000000000000000000000000600082015250565b6000615668601283614c9e565b915061567382615632565b602082019050919050565b600060208201905081810360008301526156978161565b565b9050919050565b60006156a982614ba4565b91506156b483614ba4565b92508282026156c281614ba4565b915082820484148315176156d9576156d86153f7565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061571a82614ba4565b915061572583614ba4565b925082615735576157346156e0565b5b828204905092915050565b7f4552525f494e56414c49445f5354415445000000000000000000000000000000600082015250565b6000615776601183614c9e565b915061578182615740565b602082019050919050565b600060208201905081810360008301526157a581615769565b9050919050565b7f4552525f414c52454144595f4c4f434b45440000000000000000000000000000600082015250565b60006157e2601283614c9e565b91506157ed826157ac565b602082019050919050565b60006020820190508181036000830152615811816157d5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552525f4f5645525350454e4400000000000000000000000000000000000000600082015250565b600061587d600d83614c9e565b915061588882615847565b602082019050919050565b600060208201905081810360008301526158ac81615870565b9050919050565b6158bc816153b1565b81146158c757600080fd5b50565b6000815190506158d9816158b3565b92915050565b6000602082840312156158f5576158f4614b0f565b5b6000615903848285016158ca565b9150509291505056fea264697066735822122068c5add24c1009544fb9b2200927e1bc735a86f0962ec2d82521583d3c78589c64736f6c637828302e382e32312d646576656c6f702e323032342e342e31352b636f6d6d69742e64393937346265640059