erc20-demurrage-token

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

DemurrageTokenSingleNocap.bin (51974B)


      1 6101006040523480156200001257600080fd5b506040516200658338038062006583833981810160405281019062000038919062000859565b6801000000000000000083600f0b126200005157600080fd5b6200005b6200056e565b33600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508660069081620000ad919062000b7a565b508560079081620000bf919062000b7a565b508460ff16608081815250504260038190555060035460a08181525050603c83620000eb919062000c90565b60c081815250506200010d60016200029f640100000000026401000000009004565b600260006101000a8154816fffffffffffffffffffffffffffffffff0219169083600f0b6fffffffffffffffffffffffffffffffff1602179055506200016284620002c6640100000000026401000000009004565b600f0b60e081600f0b815250506200019e6000600260009054906101000a9004600f0b600060016200031a640100000000026401000000009004565b90506000819080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548168ffffffffffffffffff021916908368ffffffffffffffffff160217905550604082015181600001600d6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505081600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050505062000cdb565b6000677fffffffffffffff821115620002b757600080fd5b6040829060020a029050919050565b60008082600f0b13620002d857600080fd5b60806fb17217f7d1cf79abc9e3b39803f2f6af62000305846200039e640100000000026401000000009004565b600f0b02908060020a82049150509050919050565b620003246200056e565b6200032e6200056e565b82816000019063ffffffff16908163ffffffff168152505083816020019068ffffffffffffffffff16908168ffffffffffffffffff168152505067ffffffffffffffff8516816040019067ffffffffffffffff16908167ffffffffffffffff168152505080915050949350505050565b60008082600f0b13620003b057600080fd5b60008083600f0b9050680100000000000000008112620003ec576040819060008212600003808260020a82851804189250505090506040820191505b64010000000081126200041b576020819060008212600003808260020a82851804189250505090506020820191505b62010000811262000448576010819060008212600003808260020a82851804189250505090506010820191505b610100811262000474576008819060008212600003808260020a82851804189250505090506008820191505b601081126200049f576004819060008212600003808260020a82851804189250505090506004820191505b60048112620004ca576002819060008212600003808260020a82851804189250505090506002820191505b60028112620004da576001820191505b600060408084039060020a029050600083607f0386600f0b9060020a029050600067800000000000000090505b600081131562000561578182029150600060ff83908060020a8204915050905080607f0183908060020a8204915050925080820284019350506001819060008212600003808260020a828518041892505050905062000507565b5081945050505050919050565b6040518060600160405280600063ffffffff168152602001600068ffffffffffffffffff168152602001600067ffffffffffffffff1681525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200061382620005c8565b810181811067ffffffffffffffff82111715620006355762000634620005d9565b5b80604052505050565b60006200064a620005aa565b905062000658828262000608565b919050565b600067ffffffffffffffff8211156200067b576200067a620005d9565b5b6200068682620005c8565b9050602081019050919050565b60005b83811015620006b357808201518184015260208101905062000696565b60008484015250505050565b6000620006d6620006d0846200065d565b6200063e565b905082815260208101848484011115620006f557620006f4620005c3565b5b6200070284828562000693565b509392505050565b600082601f830112620007225762000721620005be565b5b815162000734848260208601620006bf565b91505092915050565b600060ff82169050919050565b62000755816200073d565b81146200076157600080fd5b50565b60008151905062000775816200074a565b92915050565b600081600f0b9050919050565b62000793816200077b565b81146200079f57600080fd5b50565b600081519050620007b38162000788565b92915050565b6000819050919050565b620007ce81620007b9565b8114620007da57600080fd5b50565b600081519050620007ee81620007c3565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200082182620007f4565b9050919050565b620008338162000814565b81146200083f57600080fd5b50565b600081519050620008538162000828565b92915050565b60008060008060008060c08789031215620008795762000878620005b4565b5b600087015167ffffffffffffffff8111156200089a5762000899620005b9565b5b620008a889828a016200070a565b965050602087015167ffffffffffffffff811115620008cc57620008cb620005b9565b5b620008da89828a016200070a565b9550506040620008ed89828a0162000764565b94505060606200090089828a01620007a2565b93505060806200091389828a01620007dd565b92505060a06200092689828a0162000842565b9150509295509295509295565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200098657607f821691505b6020821081036200099c576200099b6200093e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b60008160020a8302905092915050565b60006008830262000a097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620009c7565b62000a158683620009c7565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000a5862000a5262000a4c84620007b9565b62000a2d565b620007b9565b9050919050565b6000819050919050565b62000a748362000a37565b62000a8c62000a838262000a5f565b848454620009d7565b825550505050565b600090565b62000aa362000a94565b62000ab081848462000a69565b505050565b5b8181101562000ad85762000acc60008262000a99565b60018101905062000ab6565b5050565b601f82111562000b275762000af181620009a2565b62000afc84620009b7565b8101602085101562000b0c578190505b62000b2462000b1b85620009b7565b83018262000ab5565b50505b505050565b60008160020a8304905092915050565b600062000b4f6000198460080262000b2c565b1980831691505092915050565b600062000b6a838362000b3c565b9150826002028217905092915050565b62000b858262000933565b67ffffffffffffffff81111562000ba15762000ba0620005d9565b5b62000bad82546200096d565b62000bba82828562000adc565b600060209050601f83116001811462000bf2576000841562000bdd578287015190505b62000be9858262000b5c565b86555062000c59565b601f19841662000c0286620009a2565b60005b8281101562000c2c5784890151825560018201915060208501945060208101905062000c05565b8683101562000c4c578489015162000c48601f89168262000b3c565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000c9d82620007b9565b915062000caa83620007b9565b925082820262000cba81620007b9565b9150828204841483151762000cd45762000cd362000c61565b5b5092915050565b60805160a05160c05160e05161582862000d5b600039600081816118ae01528181612799015281816129860152612d82015260008181611ffb0152818161275c01528181612cda01528181612f1f015261314701526000818161202701528181612f4b0152818161316801526131ad0152600061190c01526158286000f3fe608060405234801561001057600080fd5b50600436106103d7576000357c0100000000000000000000000000000000000000000000000000000000900480636a2d094e11610211578063a2309ff811610137578063d7a52fa9116100ca578063e69571af11610099578063e69571af14610ca8578063e809529514610cd8578063eda4e6d614610cf6578063f2fde38b14610d14576103d7565b8063d7a52fa914610c0e578063d89135cd14610c2a578063da2824a814610c48578063e54063a614610c78576103d7565b8063b470aade11610106578063b470aade14610b84578063c0ab707714610ba2578063d340ef8a14610bd2578063d5abeb0114610bf0576103d7565b8063a2309ff814610ae8578063a457c2d714610b06578063a9059cbb14610b36578063b1cb0db314610b66576103d7565b806386fe212d116101af5780638f1df6bc1161017e5780638f1df6bc14610a7257806394d008ef14610a9057806395d89b4114610aac5780639f24880814610aca576103d7565b806386fe212d146109ec5780638832e6e314610a1c5780638da5cb5b14610a385780638f0b2d5d14610a56576103d7565b8063731f237c116101eb578063731f237c146109625780637445e33a1461098057806374bedb95146109b057806384dde4af146109ce576103d7565b80636a2d094e146108e65780636f8b44b01461091657806370a0823114610932576103d7565b8063313334871161030157806344df8e701161029457806358b2833b1161026357806358b2833b1461084a5780635ae06f7e146108685780635f408c04146108985780636787a9be146108b6576103d7565b806344df8e701461079c57806347a50517146107ba5780634abfbba2146107ea57806351b4541c1461081a576103d7565b806340452d91116102d057806340452d91146106ee57806342966c6814610720578063449a52f81461075057806344d1718714610780576103d7565b80633133348714610652578063313ce5671461068257806331a5995d146106a057806339509351146106be576103d7565b806318cbbcfc1161037957806323b872dd1161034857806323b872dd146105925780632a7aec09146105c25780632b29ba23146105f25780632c1758c114610622576103d7565b806318cbbcfc146104f65780631989c6a814610514578063213d1e1e1461053257806323a8594414610562576103d7565b8063095ea7b3116103b5578063095ea7b31461045a57806309f28f3c1461048a57806311c56615146104a857806318160ddd146104d8576103d7565b806301681a62146103dc57806301ffc9a71461040c57806306fdde031461043c575b600080fd5b6103f660048036038101906103f19190614a9d565b610d44565b6040516104039190614ae3565b60405180910390f35b61042660048036038101906104219190614b56565b610e92565b6040516104339190614b9e565b60405180910390f35b610444611180565b6040516104519190614c49565b60405180910390f35b610474600480360381019061046f9190614c97565b61120e565b6040516104819190614b9e565b60405180910390f35b61049261144a565b60405161049f9190614cf3565b60405180910390f35b6104c260048036038101906104bd9190614d3a565b61145d565b6040516104cf9190614ae3565b60405180910390f35b6104e06114ad565b6040516104ed9190614ae3565b60405180910390f35b6104fe6114c4565b60405161050b9190614ae3565b60405180910390f35b61051c6114c9565b6040516105299190614ae3565b60405180910390f35b61054c60048036038101906105479190614f1b565b6114d5565b6040516105599190614ae3565b60405180910390f35b61057c60048036038101906105779190614f1b565b6114ee565b6040516105899190614b9e565b60405180910390f35b6105ac60048036038101906105a79190614f48565b611556565b6040516105b99190614b9e565b60405180910390f35b6105dc60048036038101906105d79190614f1b565b611774565b6040516105e99190614cf3565b60405180910390f35b61060c60048036038101906106079190614a9d565b6117ac565b6040516106199190614b9e565b60405180910390f35b61063c60048036038101906106379190614f9b565b61185a565b6040516106499190614b9e565b60405180910390f35b61066c60048036038101906106679190614fc8565b61188d565b6040516106799190614ae3565b60405180910390f35b61068a61190a565b6040516106979190614ae3565b60405180910390f35b6106a861192e565b6040516106b59190614ae3565b60405180910390f35b6106d860048036038101906106d39190614c97565b611934565b6040516106e59190614b9e565b60405180910390f35b61070860048036038101906107039190614f9b565b611aca565b60405161071793929190615035565b60405180910390f35b61073a60048036038101906107359190614f9b565b611b39565b6040516107479190614b9e565b60405180910390f35b61076a60048036038101906107659190614c97565b611d0a565b6040516107779190614b9e565b60405180910390f35b61079a600480360381019061079591906150d1565b611ee1565b005b6107a4611f5f565b6040516107b19190614b9e565b60405180910390f35b6107d460048036038101906107cf9190614a9d565b611fae565b6040516107e19190614ae3565b60405180910390f35b61080460048036038101906107ff9190614f9b565b611ff7565b6040516108119190614ae3565b60405180910390f35b610834600480360381019061082f9190614f9b565b612057565b6040516108419190614ae3565b60405180910390f35b610852612078565b60405161085f9190614ae3565b60405180910390f35b610882600480360381019061087d9190614a9d565b61207e565b60405161088f9190614b9e565b60405180910390f35b6108a0612188565b6040516108ad9190615161565b60405180910390f35b6108d060048036038101906108cb9190614f9b565b612255565b6040516108dd9190614ae3565b60405180910390f35b61090060048036038101906108fb9190614f9b565b612296565b60405161090d9190614ae3565b60405180910390f35b610930600480360381019061092b9190614f9b565b6122b7565b005b61094c60048036038101906109479190614a9d565b61237f565b6040516109599190614ae3565b60405180910390f35b61096a6123e6565b6040516109779190614ae3565b60405180910390f35b61099a60048036038101906109959190614f1b565b6123f7565b6040516109a79190614ae3565b60405180910390f35b6109b8612425565b6040516109c59190614ae3565b60405180910390f35b6109d661242b565b6040516109e3919061518b565b60405180910390f35b610a066004803603810190610a019190614f9b565b612451565b604051610a139190614ae3565b60405180910390f35b610a366004803603810190610a3191906150d1565b612538565b005b610a40612549565b604051610a4d919061518b565b60405180910390f35b610a706004803603810190610a6b9190614a9d565b61256f565b005b610a7a612624565b604051610a879190614b9e565b60405180910390f35b610aaa6004803603810190610aa591906150d1565b6128e5565b005b610ab46128f6565b604051610ac19190614c49565b60405180910390f35b610ad2612984565b604051610adf9190614cf3565b60405180910390f35b610af06129a8565b604051610afd9190614ae3565b60405180910390f35b610b206004803603810190610b1b9190614c97565b6129b2565b604051610b2d9190614b9e565b60405180910390f35b610b506004803603810190610b4b9190614c97565b612bd1565b604051610b5d9190614b9e565b60405180910390f35b610b6e612cd2565b604051610b7b9190614ae3565b60405180910390f35b610b8c612cd8565b604051610b999190614ae3565b60405180910390f35b610bbc6004803603810190610bb79190614f9b565b612cfc565b604051610bc99190614ae3565b60405180910390f35b610bda612e83565b604051610be79190614ae3565b60405180910390f35b610bf8612e89565b604051610c059190614ae3565b60405180910390f35b610c286004803603810190610c239190614f9b565b612e8f565b005b610c32612fcf565b604051610c3f9190614ae3565b60405180910390f35b610c626004803603810190610c5d9190614a9d565b612fd9565b604051610c6f9190614b9e565b60405180910390f35b610c926004803603810190610c8d9190614f1b565b6130ad565b604051610c9f9190614ae3565b60405180910390f35b610cc26004803603810190610cbd91906151a6565b6130c1565b604051610ccf919061527c565b60405180910390f35b610ce0613141565b604051610ced91906152c2565b60405180910390f35b610cfe6131ab565b604051610d0b9190614ae3565b60405180910390f35b610d2e6004803603810190610d299190614a9d565b6131cf565b604051610d3b9190614b9e565b60405180910390f35b600080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e1d919061530c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e819190614ae3565b60405180910390a380915050919050565b600063b61bc9417c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610ee6576001905061117b565b635878bcf47c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610f38576001905061117b565b63bc4babdd7c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610f8a576001905061117b565b630d7491f87c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610fdc576001905061117b565b63abe1f1f57c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19160361102e576001905061117b565b63841a0e947c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603611080576001905061117b565b6301ffc9a77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036110d2576001905061117b565b639493f8b27c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603611124576001905061117b565b63d00179687c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603611176576001905061117b565b600090505b919050565b6006805461118d9061536f565b80601f01602080910402602001604051908101604052809291908181526020018280546111b99061536f565b80156112065780601f106111db57610100808354040283529160200191611206565b820191906000526020600020905b8154815290600101906020018083116111e957829003601f168201915b505050505081565b600080600061121b612188565b905060028160ff160361123357600092505050611444565b60008160ff16111561127a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611271906153ec565b60405180910390fd5b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156113435760008414611342576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133990615458565b60405180910390fd5b5b61134b612624565b5061135584612255565b915081600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925866040516114359190614ae3565b60405180910390a36001925050505b92915050565b600260009054906101000a9004600f0b81565b60008061148461146c85613318565b61147f6114796001613318565b8661333e565b6133a5565b905061148f81613424565b67ffffffffffffffff16846114a49190615478565b91505092915050565b6000600b546008546114bf9190615478565b905090565b600f81565b60008080549050905090565b6000816020015168ffffffffffffffffff169050919050565b600080826000015163ffffffff16111561150b5760009050611551565b6000826020015168ffffffffffffffffff16111561152c5760009050611551565b6000826040015167ffffffffffffffff16111561154c5760009050611551565b600190505b919050565b600080600080611564612188565b905060028160ff160361157d576000935050505061176d565b60008160ff1611156115c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bb906153ec565b60405180910390fd5b6115cc612624565b506115d685612255565b925082600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561166157600080fd5b82600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116ed9190615478565b925050819055506116ff878785613459565b91508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8760405161175e9190614ae3565b60405180910390a38193505050505b9392505050565b60008067ffffffffffffffff836040015160070b169050600081600f0b036117a3576117a06001613318565b90505b80915050919050565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806118535750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b9050919050565b6000600f821061186957600080fd5b6000820361187e57600f601254149050611888565b8160125483161490505b919050565b60008060008061189c86613318565b92506118a785613318565b91506118d37f0000000000000000000000000000000000000000000000000000000000000000836133a5565b90506118de8161347c565b90506118ea83826133a5565b90506118f581613424565b67ffffffffffffffff16935050505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60125481565b60008061193f612624565b5061194983612255565b905080600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119d7919061530c565b925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051611ab79190614ae3565b60405180910390a3600191505092915050565b60008181548110611ada57600080fd5b906000526020600020016000915090508060000160009054906101000a900463ffffffff16908060000160049054906101000a900468ffffffffffffffffff169080600001600d9054906101000a900467ffffffffffffffff16905083565b600080611b44612188565b60ff1614611b5157600080fd5b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611bf65750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611c35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2c906154f8565b60405180910390fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611c8157600080fd5b6000611c8c83612255565b9050611c983382613509565b5082600b6000828254611cab919061530c565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca584604051611cf89190614ae3565b60405180910390a26001915050919050565b6000806000611d17612188565b60ff1614611d2457600080fd5b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611dc95750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611e08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dff906154f8565b60405180910390fd5b611e10612624565b5060006011541115611e395760115483600854611e2d919061530c565b1115611e3857600080fd5b5b8260086000828254611e4b919061530c565b92505081905550611e5b83612255565b9050611e67848261360d565b508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f885604051611ec59190614ae3565b60405180910390a3611ed56136ce565b50600191505092915050565b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611f4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4690615564565b60405180910390fd5b611f5883611b39565b5050505050565b6000611fa9600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b39565b905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60007f0000000000000000000000000000000000000000000000000000000000000000826120259190615584565b7f0000000000000000000000000000000000000000000000000000000000000000612050919061530c565b9050919050565b6000603c82426120679190615478565b61207191906155f5565b9050919050565b60035481565b600061208d600160ff1661185a565b1561209757600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061211e57503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b61212757600080fd5b6000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000601060009054906101000a900460ff16156121a85760019050612252565b6000600f54036121bb5760009050612252565b600f54421061224d576121e8603c6003546121d691906155f5565b600f546121e39190615478565b612cfc565b506001601060006101000a81548160ff0219169083151502179055507ff80dbaea4785589e52984ca36a31de106adc77759539a5c7d92883bf49692fe9426040516122339190614ae3565b60405180910390a1612243612624565b5060029050612252565b600090505b90565b60008061227961226484613318565b600260009054906101000a9004600f0b613892565b905061228481613424565b67ffffffffffffffff16915050919050565b6000603c82426122a69190615478565b6122b091906155f5565b9050919050565b6122c4600860ff1661185a565b156122ce57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461232857600080fd5b6123306114ad565b811161233b57600080fd5b6011547f9722adea12ab7ef86fc45b88f0e0b567639e8dddaae60261e08c03d747fbbfe68260405161236d9190614ae3565b60405180910390a28060118190555050565b60008060008061239661239186611fae565b613318565b92506123a3600354612057565b90506123be83600260009054906101000a9004600f0b6133a5565b91506123dc6123cc83613424565b67ffffffffffffffff168261188d565b9350505050919050565b60006123f26000612cfc565b905090565b6000806000612405846114d5565b915061241084611774565b905061241c828261145d565b92505050919050565b600a5481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060108210612496576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248d90615672565b60405180910390fd5b60006012548316146124dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d4906156de565b60405180910390fd5b81601260008282541792505081905550600f6012541415157f6b7e2e653f93b645d4ed7292d6429f96637084363e477c8aaea1a43ed13c284e6012546040516125269190614ae3565b60405180910390a26012549050919050565b6125428484611d0a565b5050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61257c600260ff1661185a565b1561258657600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125e057600080fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061262e6149ef565b6126366149ef565b61263e6149ef565b600080600080600061264e6123e6565b5061265761391e565b9750612662886114ee565b15612678576000985050505050505050506128e2565b60006009548154811061268e5761268d6156fe565b5b906000526020600020016040518060600160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a900468ffffffffffffffffff1668ffffffffffffffffff1668ffffffffffffffffff16815260200160008201600d9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681525050955061273b886130ad565b945060018561274a919061530c565b905061275586611774565b9350603c857f00000000000000000000000000000000000000000000000000000000000000006127859190615584565b61278f91906155f5565b91506127cb6127c67f00000000000000000000000000000000000000000000000000000000000000006127c185613318565b6133a5565b61347c565b92506127e16000846127db6114ad565b846130c1565b96506000879080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548168ffffffffffffffffff021916908368ffffffffffffffffff160217905550604082015181600001600d6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505061289d87613ab4565b507f55d243082e019fce4009ccea5368b92e436c17586a1e793c7deda16df4e5d675816040516128cd9190614ae3565b60405180910390a16001985050505050505050505b90565b6128ef8484611d0a565b5050505050565b600780546129039061536f565b80601f016020809104026020016040519081016040528092919081815260200182805461292f9061536f565b801561297c5780601f106129515761010080835404028352916020019161297c565b820191906000526020600020905b81548152906001019060200180831161295f57829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600854905090565b6000806129be83612255565b905080600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612a4957600080fd5b612a51612624565b5080600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ade9190615478565b925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051612bbe9190614ae3565b60405180910390a3600191505092915050565b600080600080612bdf612188565b905060028160ff1603612bf85760009350505050612ccc565b60008160ff161115612c3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c36906153ec565b60405180910390fd5b612c47612624565b50612c5185612255565b9250612c5e338785613459565b91508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051612cbd9190614ae3565b60405180910390a38193505050505b92915050565b600f5481565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806000806000601060009054906101000a900460ff1615612d26576000945050505050612e7e565b612d31600354612057565b925060008303612d48576000945050505050612e7e565b600260009054906101000a9004600f0b9050600086118015612d6957508286105b15612d72578592505b612d7b83613318565b9150612da77f0000000000000000000000000000000000000000000000000000000000000000836133a5565b9350612db28461347c565b9350612dcd600260009054906101000a9004600f0b856133a5565b600260006101000a8154816fffffffffffffffffffffffffffffffff0219169083600f0b6fffffffffffffffffffffffffffffffff160217905550603c83612e159190615584565b600354612e22919061530c565b60038190555080600f0b836003547f1c9c74563c32efd114cb36fb5e432d9386c8254d08456614804a33a3088ab736600260009054906101000a9004600f0b604051612e6e9190614cf3565b60405180910390a4829450505050505b919050565b60095481565b60115481565b600080612e9f600460ff1661185a565b15612ea957600080fd5b601060009054906101000a900460ff1615612ec357600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612f1d57600080fd5b7f000000000000000000000000000000000000000000000000000000000000000083612f499190615584565b7f0000000000000000000000000000000000000000000000000000000000000000612f74919061530c565b9150600f548211612f8457600080fd5b600f54905081600f81905550807ff5bd6cb27a0006b5ea8618058a0d84719695cb6d984f4840bc1a54ca12ae4b7c600f54604051612fc29190614ae3565b60405180910390a2505050565b6000600b54905090565b6000612fe8600160ff1661185a565b15612ff257600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461304c57600080fd5b6001600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000816000015163ffffffff169050919050565b6130c96149ef565b6130d16149ef565b82816000019063ffffffff16908163ffffffff168152505083816020019068ffffffffffffffffff16908168ffffffffffffffffff168152505067ffffffffffffffff8516816040019067ffffffffffffffff16908167ffffffffffffffff168152505080915050949350505050565b600060017f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000426131929190615478565b61319c91906155f5565b6131a6919061530c565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461322c57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36001915050919050565b6000677fffffffffffffff82111561332f57600080fd5b6040829060020a029050919050565b60008082600f0b84600f0b0390507fffffffffffffffffffffffffffffffff80000000000000000000000000000000600f0b811215801561339257506f7fffffffffffffffffffffffffffffff600f0b8113155b61339b57600080fd5b8091505092915050565b600080604083600f0b85600f0b029060008212600003808260020a82851804189250505090507fffffffffffffffffffffffffffffffff80000000000000000000000000000000600f0b811215801561341157506f7fffffffffffffffffffffffffffffff600f0b8113155b61341a57600080fd5b8091505092915050565b60008082600f0b121561343657600080fd5b604082600f0b9060008212600003808260020a8285180418925050509050919050565b60006134658483613509565b50613470838361360d565b50600190509392505050565b60006840000000000000000082600f0b1261349657600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000082600f0b12156134ca5760009050613504565b6135016080700171547652b82fe1777d0ffda0d23a7d1284600f0b029060008212600003808260020a828518041892505050613bd3565b90505b919050565b6000806000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000840361356357600092505050613607565b61356c85611fae565b9150838210156135b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135a890615779565b60405180910390fd5b83826135bd9190615478565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001925050505b92915050565b6000806000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008403613667576000925050506136c8565b61367085611fae565b9150838261367e919061530c565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001925050505b92915050565b60006136d86149ef565b60006136e26114ad565b9050600060016000805490506136f89190615478565b81548110613709576137086156fe565b5b906000526020600020016040518060600160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a900468ffffffffffffffffff1668ffffffffffffffffff1668ffffffffffffffffff16815260200160008201600d9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681525050915080826020019068ffffffffffffffffff16908168ffffffffffffffffff168152505081600060016000805490506137e49190615478565b815481106137f5576137f46156fe565b5b9060005260206000200160008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548168ffffffffffffffffff021916908368ffffffffffffffffff160217905550604082015181600001600d6101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555090505060019250505090565b60008082600f0b036138a357600080fd5b600082600f0b604085600f0b9060020a02816138c2576138c16155c6565b5b0590507fffffffffffffffffffffffffffffffff80000000000000000000000000000000600f0b811215801561390b57506f7fffffffffffffffffffffffffffffff600f0b8113155b61391457600080fd5b8091505092915050565b6139266149ef565b61392e6149ef565b6139366149ef565b6000806009548154811061394d5761394c6156fe565b5b906000526020600020016040518060600160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a900468ffffffffffffffffff1668ffffffffffffffffff1668ffffffffffffffffff16815260200160008201600d9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff168152505092503073ffffffffffffffffffffffffffffffffffffffff1663e80952956040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381865afa158015613a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a7c91906157c5565b6fffffffffffffffffffffffffffffffff169050613a99836130ad565b8111613aaa57819350505050613ab1565b8293505050505b90565b6000806000613ac2846123f7565b613aca6114ad565b613ad49190615478565b9150600a54613ae283612255565b613aec9190615478565b9050613b1a600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261360d565b50836000015163ffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f9a2a887706623ad3ff7fc85652deeceabe9fe1e00466c597972079ee91ea40d384604051613b8e9190614ae3565b60405180910390a3600160096000828254613ba9919061530c565b9250508190555080600a6000828254613bc2919061530c565b925050819055508192505050919050565b60006840000000000000000082600f0b12613bed57600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000082600f0b1215613c2157600090506149ea565b60006f80000000000000000000000000000000905060006780000000000000008416600f0b1315613c6f57608070016a09e667f3bcc908b2fb1366ea957d3e8202908060020a820491505090505b60006740000000000000008416600f0b1315613ca85760807001306fe0a31b7152de8d5a46305c85edec8202908060020a820491505090505b60006720000000000000008416600f0b1315613ce15760807001172b83c7d517adcdf7c8c50eb14a791f8202908060020a820491505090505b60006710000000000000008416600f0b1315613d1a57608070010b5586cf9890f6298b92b71842a983638202908060020a820491505090505b60006708000000000000008416600f0b1315613d535760807001059b0d31585743ae7c548eb68ca417fd8202908060020a820491505090505b60006704000000000000008416600f0b1315613d8c576080700102c9a3e778060ee6f7caca4f7a29bde88202908060020a820491505090505b60006702000000000000008416600f0b1315613dc557608070010163da9fb33356d84a66ae336dcdfa3f8202908060020a820491505090505b60006701000000000000008416600f0b1315613dfe576080700100b1afa5abcbed6129ab13ec11dc95438202908060020a820491505090505b600066800000000000008416600f0b1315613e3657608070010058c86da1c09ea1ff19d294cf2f679b8202908060020a820491505090505b600066400000000000008416600f0b1315613e6e5760807001002c605e2e8cec506d21bfc89a23a00f8202908060020a820491505090505b600066200000000000008416600f0b1315613ea6576080700100162f3904051fa128bca9c55c31e5df8202908060020a820491505090505b600066100000000000008416600f0b1315613ede5760807001000b175effdc76ba38e31671ca9397258202908060020a820491505090505b600066080000000000008416600f0b1315613f16576080700100058ba01fb9f96d6cacd4b180917c3d8202908060020a820491505090505b600066040000000000008416600f0b1315613f4e57608070010002c5cc37da9491d0985c348c68e7b38202908060020a820491505090505b600066020000000000008416600f0b1315613f865760807001000162e525ee054754457d59952920268202908060020a820491505090505b600066010000000000008416600f0b1315613fbe57608070010000b17255775c040618bf4a4ade83fc8202908060020a820491505090505b6000658000000000008416600f0b1315613ff55760807001000058b91b5bc9ae2eed81e9b7d4cfab8202908060020a820491505090505b6000654000000000008416600f0b131561402c576080700100002c5c89d5ec6ca4d7c8acc017b7c98202908060020a820491505090505b6000652000000000008416600f0b131561406357608070010000162e43f4f831060e02d839a9d16d8202908060020a820491505090505b6000651000000000008416600f0b131561409a576080700100000b1721bcfc99d9f890ea069117638202908060020a820491505090505b6000650800000000008416600f0b13156140d157608070010000058b90cf1e6d97f9ca14dbcc16288202908060020a820491505090505b6000650400000000008416600f0b13156141085760807001000002c5c863b73f016468f6bac5ca2b8202908060020a820491505090505b6000650200000000008416600f0b131561413f576080700100000162e430e5a18f6119e3c02282a58202908060020a820491505090505b6000650100000000008416600f0b13156141765760807001000000b1721835514b86e6d96efd1bfe8202908060020a820491505090505b60006480000000008416600f0b13156141ac576080700100000058b90c0b48c6be5df846c5b2ef8202908060020a820491505090505b60006440000000008416600f0b13156141e257608070010000002c5c8601cc6b9e94213c72737a8202908060020a820491505090505b60006420000000008416600f0b13156142185760807001000000162e42fff037df38aa2b219f068202908060020a820491505090505b60006410000000008416600f0b131561424e57608070010000000b17217fba9c739aa5819f44f98202908060020a820491505090505b60006408000000008416600f0b13156142845760807001000000058b90bfcdee5acd3c1cedc8238202908060020a820491505090505b60006404000000008416600f0b13156142ba576080700100000002c5c85fe31f35a6a30da1be508202908060020a820491505090505b60006402000000008416600f0b13156142f057608070010000000162e42ff0999ce3541b9fffcf8202908060020a820491505090505b60006401000000008416600f0b1315614326576080700100000000b17217f80f4ef5aadda455548202908060020a820491505090505b600063800000008416600f0b131561435b57608070010000000058b90bfbf8479bd5a81b51ad8202908060020a820491505090505b600063400000008416600f0b13156143905760807001000000002c5c85fdf84bd62ae30a74cc8202908060020a820491505090505b600063200000008416600f0b13156143c5576080700100000000162e42fefb2fed257559bdaa8202908060020a820491505090505b600063100000008416600f0b13156143fa5760807001000000000b17217f7d5a7716bba4a9ae8202908060020a820491505090505b600063080000008416600f0b131561442f576080700100000000058b90bfbe9ddbac5e109cce8202908060020a820491505090505b600063040000008416600f0b131561446457608070010000000002c5c85fdf4b15de6f17eb0d8202908060020a820491505090505b600063020000008416600f0b13156144995760807001000000000162e42fefa494f1478fde058202908060020a820491505090505b600063010000008416600f0b13156144ce57608070010000000000b17217f7d20cf927c8e94c8202908060020a820491505090505b6000628000008416600f0b13156145025760807001000000000058b90bfbe8f71cb4e4b33d8202908060020a820491505090505b6000624000008416600f0b1315614536576080700100000000002c5c85fdf477b662b269458202908060020a820491505090505b6000622000008416600f0b131561456a57608070010000000000162e42fefa3ae53369388c8202908060020a820491505090505b6000621000008416600f0b131561459e576080700100000000000b17217f7d1d351a389d408202908060020a820491505090505b6000620800008416600f0b13156145d257608070010000000000058b90bfbe8e8b2d3d4ede8202908060020a820491505090505b6000620400008416600f0b13156146065760807001000000000002c5c85fdf4741bea6e77e8202908060020a820491505090505b6000620200008416600f0b131561463a576080700100000000000162e42fefa39fe95583c28202908060020a820491505090505b6000620100008416600f0b131561466e5760807001000000000000b17217f7d1cfb72b45e18202908060020a820491505090505b60006180008416600f0b13156146a1576080700100000000000058b90bfbe8e7cc35c3f08202908060020a820491505090505b60006140008416600f0b13156146d457608070010000000000002c5c85fdf473e242ea388202908060020a820491505090505b60006120008416600f0b13156147075760807001000000000000162e42fefa39f02b772c8202908060020a820491505090505b60006110008416600f0b131561473a57608070010000000000000b17217f7d1cf7d83c1a8202908060020a820491505090505b60006108008416600f0b131561476d5760807001000000000000058b90bfbe8e7bdcbe2e8202908060020a820491505090505b60006104008416600f0b13156147a0576080700100000000000002c5c85fdf473dea871f8202908060020a820491505090505b60006102008416600f0b13156147d357608070010000000000000162e42fefa39ef44d918202908060020a820491505090505b60006101008416600f0b1315614806576080700100000000000000b17217f7d1cf79e9498202908060020a820491505090505b600060808416600f0b131561483857608070010000000000000058b90bfbe8e7bce5448202908060020a820491505090505b600060408416600f0b131561486a5760807001000000000000002c5c85fdf473de6eca8202908060020a820491505090505b600060208416600f0b131561489c576080700100000000000000162e42fefa39ef366f8202908060020a820491505090505b600060108416600f0b13156148ce5760807001000000000000000b17217f7d1cf79afa8202908060020a820491505090505b600060088416600f0b1315614900576080700100000000000000058b90bfbe8e7bcd6d8202908060020a820491505090505b600060048416600f0b131561493257608070010000000000000002c5c85fdf473de6b28202908060020a820491505090505b600060028416600f0b13156149645760807001000000000000000162e42fefa39ef3588202908060020a820491505090505b600060018416600f0b131561499657608070010000000000000000b17217f7d1cf79ab8202908060020a820491505090505b604083600f0b9060008212600003808260020a828518041892505050603f03600f0b81908060020a820491505090506f7fffffffffffffffffffffffffffffff600f0b8111156149e557600080fd5b809150505b919050565b6040518060600160405280600063ffffffff168152602001600068ffffffffffffffffff168152602001600067ffffffffffffffff1681525090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000614a6a82614a3f565b9050919050565b614a7a81614a5f565b8114614a8557600080fd5b50565b600081359050614a9781614a71565b92915050565b600060208284031215614ab357614ab2614a35565b5b6000614ac184828501614a88565b91505092915050565b6000819050919050565b614add81614aca565b82525050565b6000602082019050614af86000830184614ad4565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b614b3381614afe565b8114614b3e57600080fd5b50565b600081359050614b5081614b2a565b92915050565b600060208284031215614b6c57614b6b614a35565b5b6000614b7a84828501614b41565b91505092915050565b60008115159050919050565b614b9881614b83565b82525050565b6000602082019050614bb36000830184614b8f565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015614bf3578082015181840152602081019050614bd8565b60008484015250505050565b6000601f19601f8301169050919050565b6000614c1b82614bb9565b614c258185614bc4565b9350614c35818560208601614bd5565b614c3e81614bff565b840191505092915050565b60006020820190508181036000830152614c638184614c10565b905092915050565b614c7481614aca565b8114614c7f57600080fd5b50565b600081359050614c9181614c6b565b92915050565b60008060408385031215614cae57614cad614a35565b5b6000614cbc85828601614a88565b9250506020614ccd85828601614c82565b9150509250929050565b600081600f0b9050919050565b614ced81614cd7565b82525050565b6000602082019050614d086000830184614ce4565b92915050565b614d1781614cd7565b8114614d2257600080fd5b50565b600081359050614d3481614d0e565b92915050565b60008060408385031215614d5157614d50614a35565b5b6000614d5f85828601614c82565b9250506020614d7085828601614d25565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b614db782614bff565b810181811067ffffffffffffffff82111715614dd657614dd5614d7f565b5b80604052505050565b6000614de9614a2b565b9050614df58282614dae565b919050565b600063ffffffff82169050919050565b614e1381614dfa565b8114614e1e57600080fd5b50565b600081359050614e3081614e0a565b92915050565b600068ffffffffffffffffff82169050919050565b614e5481614e36565b8114614e5f57600080fd5b50565b600081359050614e7181614e4b565b92915050565b600067ffffffffffffffff82169050919050565b614e9481614e77565b8114614e9f57600080fd5b50565b600081359050614eb181614e8b565b92915050565b600060608284031215614ecd57614ecc614d7a565b5b614ed76060614ddf565b90506000614ee784828501614e21565b6000830152506020614efb84828501614e62565b6020830152506040614f0f84828501614ea2565b60408301525092915050565b600060608284031215614f3157614f30614a35565b5b6000614f3f84828501614eb7565b91505092915050565b600080600060608486031215614f6157614f60614a35565b5b6000614f6f86828701614a88565b9350506020614f8086828701614a88565b9250506040614f9186828701614c82565b9150509250925092565b600060208284031215614fb157614fb0614a35565b5b6000614fbf84828501614c82565b91505092915050565b60008060408385031215614fdf57614fde614a35565b5b6000614fed85828601614c82565b9250506020614ffe85828601614c82565b9150509250929050565b61501181614dfa565b82525050565b61502081614e36565b82525050565b61502f81614e77565b82525050565b600060608201905061504a6000830186615008565b6150576020830185615017565b6150646040830184615026565b949350505050565b600080fd5b600080fd5b600080fd5b60008083601f8401126150915761509061506c565b5b8235905067ffffffffffffffff8111156150ae576150ad615071565b5b6020830191508360018202830111156150ca576150c9615076565b5b9250929050565b600080600080606085870312156150eb576150ea614a35565b5b60006150f987828801614a88565b945050602061510a87828801614c82565b935050604085013567ffffffffffffffff81111561512b5761512a614a3a565b5b6151378782880161507b565b925092505092959194509250565b600060ff82169050919050565b61515b81615145565b82525050565b60006020820190506151766000830184615152565b92915050565b61518581614a5f565b82525050565b60006020820190506151a0600083018461517c565b92915050565b600080600080608085870312156151c0576151bf614a35565b5b60006151ce87828801614c82565b94505060206151df87828801614d25565b93505060406151f087828801614c82565b925050606061520187828801614c82565b91505092959194509250565b61521681614dfa565b82525050565b61522581614e36565b82525050565b61523481614e77565b82525050565b606082016000820151615250600085018261520d565b506020820151615263602085018261521c565b506040820151615276604085018261522b565b50505050565b6000606082019050615291600083018461523a565b92915050565b60006fffffffffffffffffffffffffffffffff82169050919050565b6152bc81615297565b82525050565b60006020820190506152d760008301846152b3565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061531782614aca565b915061532283614aca565b925082820190508082111561533a576153396152dd565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061538757607f821691505b60208210810361539a57615399615340565b5b50919050565b7f4558504952454400000000000000000000000000000000000000000000000000600082015250565b60006153d6600783614bc4565b91506153e1826153a0565b602082019050919050565b60006020820190508181036000830152615405816153c9565b9050919050565b7f5a45524f5f464952535400000000000000000000000000000000000000000000600082015250565b6000615442600a83614bc4565b915061544d8261540c565b602082019050919050565b6000602082019050818103600083015261547181615435565b9050919050565b600061548382614aca565b915061548e83614aca565b92508282039050818111156154a6576154a56152dd565b5b92915050565b7f4552525f41434345535300000000000000000000000000000000000000000000600082015250565b60006154e2600a83614bc4565b91506154ed826154ac565b602082019050919050565b60006020820190508181036000830152615511816154d5565b9050919050565b7f4552525f4f4e4c595f53454c465f4255524e0000000000000000000000000000600082015250565b600061554e601283614bc4565b915061555982615518565b602082019050919050565b6000602082019050818103600083015261557d81615541565b9050919050565b600061558f82614aca565b915061559a83614aca565b92508282026155a881614aca565b915082820484148315176155bf576155be6152dd565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061560082614aca565b915061560b83614aca565b92508261561b5761561a6155c6565b5b828204905092915050565b7f4552525f494e56414c49445f5354415445000000000000000000000000000000600082015250565b600061565c601183614bc4565b915061566782615626565b602082019050919050565b6000602082019050818103600083015261568b8161564f565b9050919050565b7f4552525f414c52454144595f4c4f434b45440000000000000000000000000000600082015250565b60006156c8601283614bc4565b91506156d382615692565b602082019050919050565b600060208201905081810360008301526156f7816156bb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552525f4f5645525350454e4400000000000000000000000000000000000000600082015250565b6000615763600d83614bc4565b915061576e8261572d565b602082019050919050565b6000602082019050818103600083015261579281615756565b9050919050565b6157a281615297565b81146157ad57600080fd5b50565b6000815190506157bf81615799565b92915050565b6000602082840312156157db576157da614a35565b5b60006157e9848285016157b0565b9150509291505056fea264697066735822122029255efc5dc792c502a02e0530e898ad018373a32a688f89b0b566207da8570264736f6c63430008130033