commit 83383c0b9bf64fa4d1593e6a4460aee25701f434 parent 954630132ba94b92af70a534f45c6beab604a7d3 Author: lash <dev@holbrook.no> Date: Tue, 7 Mar 2023 10:16:59 +0000 Recompile with solc 0.8.18+commit.87f61d96 Diffstat:
M | python/erc20_demurrage_token/data/DemurrageTokenSingleNocap.bin | | | 4 | ++-- |
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/python/erc20_demurrage_token/data/DemurrageTokenSingleNocap.bin b/python/erc20_demurrage_token/data/DemurrageTokenSingleNocap.bin @@ -1 +1 @@ -6101006040523480156200001257600080fd5b506040516200626e3803806200626e833981810160405281019062000038919062000863565b6801000000000000000083600f0b126200005157600080fd5b6200005b62000578565b33600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508660069081620000ad919062000b84565b508560079081620000bf919062000b84565b508460ff16608081815250504260038190555060035460a08181525050603c83620000eb919062000c9a565b60c08181525050620001126001620002a96401000000000262002f33176401000000009004565b600260006101000a8154816fffffffffffffffffffffffffffffffff0219169083600f0b6fffffffffffffffffffffffffffffffff1602179055506200016c84620002d06401000000000262002f59176401000000009004565b600f0b60e081600f0b81525050620001a86000600260009054906101000a9004600f0b6000600162000324640100000000026401000000009004565b90506000819080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548168ffffffffffffffffff021916908368ffffffffffffffffff160217905550604082015181600001600d6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505081600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050505062000ce5565b6000677fffffffffffffff821115620002c157600080fd5b6040829060020a029050919050565b60008082600f0b13620002e257600080fd5b60806fb17217f7d1cf79abc9e3b39803f2f6af6200030f84620003a8640100000000026401000000009004565b600f0b02908060020a82049150509050919050565b6200032e62000578565b6200033862000578565b82816000019063ffffffff16908163ffffffff168152505083816020019068ffffffffffffffffff16908168ffffffffffffffffff168152505067ffffffffffffffff8516816040019067ffffffffffffffff16908167ffffffffffffffff168152505080915050949350505050565b60008082600f0b13620003ba57600080fd5b60008083600f0b9050680100000000000000008112620003f6576040819060008212600003808260020a82851804189250505090506040820191505b640100000000811262000425576020819060008212600003808260020a82851804189250505090506020820191505b62010000811262000452576010819060008212600003808260020a82851804189250505090506010820191505b61010081126200047e576008819060008212600003808260020a82851804189250505090506008820191505b60108112620004a9576004819060008212600003808260020a82851804189250505090506004820191505b60048112620004d4576002819060008212600003808260020a82851804189250505090506002820191505b60028112620004e4576001820191505b600060408084039060020a029050600083607f0386600f0b9060020a029050600067800000000000000090505b60008113156200056b578182029150600060ff83908060020a8204915050905080607f0183908060020a8204915050925080820284019350506001819060008212600003808260020a828518041892505050905062000511565b5081945050505050919050565b6040518060600160405280600063ffffffff168152602001600068ffffffffffffffffff168152602001600067ffffffffffffffff1681525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200061d82620005d2565b810181811067ffffffffffffffff821117156200063f576200063e620005e3565b5b80604052505050565b600062000654620005b4565b905062000662828262000612565b919050565b600067ffffffffffffffff821115620006855762000684620005e3565b5b6200069082620005d2565b9050602081019050919050565b60005b83811015620006bd578082015181840152602081019050620006a0565b60008484015250505050565b6000620006e0620006da8462000667565b62000648565b905082815260208101848484011115620006ff57620006fe620005cd565b5b6200070c8482856200069d565b509392505050565b600082601f8301126200072c576200072b620005c8565b5b81516200073e848260208601620006c9565b91505092915050565b600060ff82169050919050565b6200075f8162000747565b81146200076b57600080fd5b50565b6000815190506200077f8162000754565b92915050565b600081600f0b9050919050565b6200079d8162000785565b8114620007a957600080fd5b50565b600081519050620007bd8162000792565b92915050565b6000819050919050565b620007d881620007c3565b8114620007e457600080fd5b50565b600081519050620007f881620007cd565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200082b82620007fe565b9050919050565b6200083d816200081e565b81146200084957600080fd5b50565b6000815190506200085d8162000832565b92915050565b60008060008060008060c08789031215620008835762000882620005be565b5b600087015167ffffffffffffffff811115620008a457620008a3620005c3565b5b620008b289828a0162000714565b965050602087015167ffffffffffffffff811115620008d657620008d5620005c3565b5b620008e489828a0162000714565b9550506040620008f789828a016200076e565b94505060606200090a89828a01620007ac565b93505060806200091d89828a01620007e7565b92505060a06200093089828a016200084c565b9150509295509295509295565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200099057607f821691505b602082108103620009a657620009a562000948565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b60008160020a8302905092915050565b60006008830262000a137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620009d1565b62000a1f8683620009d1565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000a6262000a5c62000a5684620007c3565b62000a37565b620007c3565b9050919050565b6000819050919050565b62000a7e8362000a41565b62000a9662000a8d8262000a69565b848454620009e1565b825550505050565b600090565b62000aad62000a9e565b62000aba81848462000a73565b505050565b5b8181101562000ae25762000ad660008262000aa3565b60018101905062000ac0565b5050565b601f82111562000b315762000afb81620009ac565b62000b0684620009c1565b8101602085101562000b16578190505b62000b2e62000b2585620009c1565b83018262000abf565b50505b505050565b60008160020a8304905092915050565b600062000b596000198460080262000b36565b1980831691505092915050565b600062000b74838362000b46565b9150826002028217905092915050565b62000b8f826200093d565b67ffffffffffffffff81111562000bab5762000baa620005e3565b5b62000bb7825462000977565b62000bc482828562000ae6565b600060209050601f83116001811462000bfc576000841562000be7578287015190505b62000bf3858262000b66565b86555062000c63565b601f19841662000c0c86620009ac565b60005b8281101562000c365784890151825560018201915060208501945060208101905062000c0f565b8683101562000c56578489015162000c52601f89168262000b46565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000ca782620007c3565b915062000cb483620007c3565b925082820262000cc481620007c3565b9150828204841483151762000cde5762000cdd62000c6b565b5b5092915050565b60805160a05160c05160e05161550962000d656000396000818161158f015281816124b7015281816126930152612a85015260008181611b7a0152818161247a015281816129dd01528181612c210152612e09015260008181611ba601528181612c4d01528181612e2a0152612e6f015260006115ed01526155096000f3fe608060405234801561001057600080fd5b50600436106103ab576000357c0100000000000000000000000000000000000000000000000000000000900480636f8b44b0116101fb578063a457c2d71161012c578063d7a52fa9116100ca578063e69571af11610099578063e69571af14610be4578063e809529514610c14578063eda4e6d614610c32578063f2fde38b14610c50576103ab565b8063d7a52fa914610b4a578063d89135cd14610b66578063da2824a814610b84578063e54063a614610bb4576103ab565b8063b470aade11610106578063b470aade14610ac0578063c0ab707714610ade578063d340ef8a14610b0e578063d5abeb0114610b2c576103ab565b8063a457c2d714610a42578063a9059cbb14610a72578063b1cb0db314610aa2576103ab565b806384dde4af116101995780638f0b2d5d116101735780638f0b2d5d146109cc5780638f1df6bc146109e857806395d89b4114610a065780639f24880814610a24576103ab565b806384dde4af1461096057806386fe212d1461097e5780638da5cb5b146109ae576103ab565b806373f42561116101d557806373f42561146108d65780637445e33a146108f457806374bedb951461092457806379ba509714610942576103ab565b80636f8b44b01461086c57806370a0823114610888578063731f237c146108b8576103ab565b806331333487116102e057806347a505171161027e5780635ae06f7e1161024d5780635ae06f7e146107be5780635f408c04146107ee5780636787a9be1461080c5780636a2d094e1461083c576103ab565b806347a50517146107105780634abfbba21461074057806351b4541c1461077057806358b2833b146107a0576103ab565b806339509351116102ba578063395093511461066257806340452d911461069257806342966c68146106c4578063449a52f8146106e0576103ab565b806331333487146105f6578063313ce5671461062657806331a5995d14610644576103ab565b806318cbbcfc1161034d57806323a859441161032757806323a859441461053657806323b872dd146105665780632a7aec09146105965780632c1758c1146105c6576103ab565b806318cbbcfc146104ca5780631989c6a8146104e8578063213d1e1e14610506576103ab565b8063095ea7b311610389578063095ea7b31461042e57806309f28f3c1461045e57806311c566151461047c57806318160ddd146104ac576103ab565b806301681a62146103b057806301ffc9a7146103e057806306fdde0314610410575b600080fd5b6103ca60048036038101906103c591906148c3565b610c80565b6040516103d79190614909565b60405180910390f35b6103fa60048036038101906103f5919061497c565b610d69565b60405161040791906149c4565b60405180910390f35b610418610f0f565b6040516104259190614a6f565b60405180910390f35b61044860048036038101906104439190614abd565b610f9d565b60405161045591906149c4565b60405180910390f35b6104666111d9565b6040516104739190614b19565b60405180910390f35b61049660048036038101906104919190614b60565b6111ec565b6040516104a39190614909565b60405180910390f35b6104b461123c565b6040516104c19190614909565b60405180910390f35b6104d2611253565b6040516104df9190614909565b60405180910390f35b6104f0611258565b6040516104fd9190614909565b60405180910390f35b610520600480360381019061051b9190614d41565b611264565b60405161052d9190614909565b60405180910390f35b610550600480360381019061054b9190614d41565b61127d565b60405161055d91906149c4565b60405180910390f35b610580600480360381019061057b9190614d6e565b6112e5565b60405161058d91906149c4565b60405180910390f35b6105b060048036038101906105ab9190614d41565b611503565b6040516105bd9190614b19565b60405180910390f35b6105e060048036038101906105db9190614dc1565b61153b565b6040516105ed91906149c4565b60405180910390f35b610610600480360381019061060b9190614dee565b61156e565b60405161061d9190614909565b60405180910390f35b61062e6115eb565b60405161063b9190614909565b60405180910390f35b61064c61160f565b6040516106599190614909565b60405180910390f35b61067c60048036038101906106779190614abd565b611615565b60405161068991906149c4565b60405180910390f35b6106ac60048036038101906106a79190614dc1565b6117ab565b6040516106bb93929190614e5b565b60405180910390f35b6106de60048036038101906106d99190614dc1565b61181a565b005b6106fa60048036038101906106f59190614abd565b611956565b60405161070791906149c4565b60405180910390f35b61072a600480360381019061072591906148c3565b611b2d565b6040516107379190614909565b60405180910390f35b61075a60048036038101906107559190614dc1565b611b76565b6040516107679190614909565b60405180910390f35b61078a60048036038101906107859190614dc1565b611bd6565b6040516107979190614909565b60405180910390f35b6107a8611bf7565b6040516107b59190614909565b60405180910390f35b6107d860048036038101906107d391906148c3565b611bfd565b6040516107e591906149c4565b60405180910390f35b6107f6611d07565b6040516108039190614eae565b60405180910390f35b61082660048036038101906108219190614dc1565b611dd4565b6040516108339190614909565b60405180910390f35b61085660048036038101906108519190614dc1565b611e15565b6040516108639190614909565b60405180910390f35b61088660048036038101906108819190614dc1565b611e36565b005b6108a2600480360381019061089d91906148c3565b611efe565b6040516108af9190614909565b60405180910390f35b6108c0611f68565b6040516108cd9190614909565b60405180910390f35b6108de611f79565b6040516108eb9190614909565b60405180910390f35b61090e60048036038101906109099190614d41565b611f7f565b60405161091b9190614909565b60405180910390f35b61092c611fad565b6040516109399190614909565b60405180910390f35b61094a611fb3565b60405161095791906149c4565b60405180910390f35b61096861215a565b6040516109759190614ed8565b60405180910390f35b61099860048036038101906109939190614dc1565b612180565b6040516109a59190614909565b60405180910390f35b6109b6612267565b6040516109c39190614ed8565b60405180910390f35b6109e660048036038101906109e191906148c3565b61228d565b005b6109f0612342565b6040516109fd91906149c4565b60405180910390f35b610a0e612603565b604051610a1b9190614a6f565b60405180910390f35b610a2c612691565b604051610a399190614b19565b60405180910390f35b610a5c6004803603810190610a579190614abd565b6126b5565b604051610a6991906149c4565b60405180910390f35b610a8c6004803603810190610a879190614abd565b6128d4565b604051610a9991906149c4565b60405180910390f35b610aaa6129d5565b604051610ab79190614909565b60405180910390f35b610ac86129db565b604051610ad59190614909565b60405180910390f35b610af86004803603810190610af39190614dc1565b6129ff565b604051610b059190614909565b60405180910390f35b610b16612b86565b604051610b239190614909565b60405180910390f35b610b34612b8c565b604051610b419190614909565b60405180910390f35b610b646004803603810190610b5f9190614dc1565b612b92565b005b610b6e612c91565b604051610b7b9190614909565b60405180910390f35b610b9e6004803603810190610b9991906148c3565b612c9b565b604051610bab91906149c4565b60405180910390f35b610bce6004803603810190610bc99190614d41565b612d6f565b604051610bdb9190614909565b60405180910390f35b610bfe6004803603810190610bf99190614ef3565b612d83565b604051610c0b9190614fc9565b60405180910390f35b610c1c612e03565b604051610c29919061500f565b60405180910390f35b610c3a612e6d565b604051610c479190614909565b60405180910390f35b610c6a6004803603810190610c6591906148c3565b612e91565b604051610c7791906149c4565b60405180910390f35b600080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d599190615059565b9250508190555080915050919050565b600063c6bb4b707c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610dbd5760019050610f0a565b63449a52f87c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610e0f5760019050610f0a565b6301ffc9a77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610e615760019050610f0a565b639493f8b27c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610eb35760019050610f0a565b6337a47be47c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610f055760019050610f0a565b600090505b919050565b60068054610f1c906150bc565b80601f0160208091040260200160405190810160405280929190818152602001828054610f48906150bc565b8015610f955780601f10610f6a57610100808354040283529160200191610f95565b820191906000526020600020905b815481529060010190602001808311610f7857829003601f168201915b505050505081565b6000806000610faa611d07565b905060028160ff1603610fc2576000925050506111d3565b60008160ff161115611009576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100090615139565b60405180910390fd5b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156110d257600084146110d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c8906151a5565b60405180910390fd5b5b6110da612342565b506110e484611dd4565b915081600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925866040516111c49190614909565b60405180910390a36001925050505b92915050565b600260009054906101000a9004600f0b81565b6000806112136111fb85612f33565b61120e6112086001612f33565b86612f9b565b613002565b905061121e81613081565b67ffffffffffffffff168461123391906151c5565b91505092915050565b6000600b5460085461124e91906151c5565b905090565b600f81565b60008080549050905090565b6000816020015168ffffffffffffffffff169050919050565b600080826000015163ffffffff16111561129a57600090506112e0565b6000826020015168ffffffffffffffffff1611156112bb57600090506112e0565b6000826040015167ffffffffffffffff1611156112db57600090506112e0565b600190505b919050565b6000806000806112f3611d07565b905060028160ff160361130c57600093505050506114fc565b60008160ff161115611353576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134a90615139565b60405180910390fd5b61135b612342565b5061136585611dd4565b925082600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156113f057600080fd5b82600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461147c91906151c5565b9250508190555061148e8787856130b6565b91508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516114ed9190614909565b60405180910390a38193505050505b9392505050565b60008067ffffffffffffffff836040015160070b169050600081600f0b036115325761152f6001612f33565b90505b80915050919050565b6000600f821061154a57600080fd5b6000820361155f57600f601254149050611569565b8160125483161490505b919050565b60008060008061157d86612f33565b925061158885612f33565b91506115b47f000000000000000000000000000000000000000000000000000000000000000083613002565b90506115bf816130db565b90506115cb8382613002565b90506115d681613081565b67ffffffffffffffff16935050505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60125481565b600080611620612342565b5061162a83611dd4565b905080600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116b89190615059565b925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040516117989190614909565b60405180910390a3600191505092915050565b600081815481106117bb57600080fd5b906000526020600020016000915090508060000160009054906101000a900463ffffffff16908060000160049054906101000a900468ffffffffffffffffff169080600001600d9054906101000a900467ffffffffffffffff16905083565b6000611824611d07565b60ff161461183157600080fd5b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661188757600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548111156118d357600080fd5b60006118de82611dd4565b90506118ea3382613168565b5081600b60008282546118fd9190615059565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405161194a9190614909565b60405180910390a25050565b6000806000611963611d07565b60ff161461197057600080fd5b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611a155750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611a54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4b90615245565b60405180910390fd5b611a5c612342565b5060006011541115611a855760115483600854611a799190615059565b1115611a8457600080fd5b5b8260086000828254611a979190615059565b92505081905550611aa783611dd4565b9050611ab3848261326f565b508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f885604051611b119190614909565b60405180910390a3611b21613333565b50600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60007f000000000000000000000000000000000000000000000000000000000000000082611ba49190615265565b7f0000000000000000000000000000000000000000000000000000000000000000611bcf9190615059565b9050919050565b6000603c8242611be691906151c5565b611bf091906152d6565b9050919050565b60035481565b6000611c0c600160ff1661153b565b15611c1657600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611c9d57503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611ca657600080fd5b6000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000601060009054906101000a900460ff1615611d275760019050611dd1565b6000600f5403611d3a5760009050611dd1565b600f544210611dcc57611d67603c600354611d5591906152d6565b600f54611d6291906151c5565b6129ff565b506001601060006101000a81548160ff0219169083151502179055507ff80dbaea4785589e52984ca36a31de106adc77759539a5c7d92883bf49692fe942604051611db29190614909565b60405180910390a1611dc2612342565b5060029050611dd1565b600090505b90565b600080611df8611de384612f33565b600260009054906101000a9004600f0b6134f7565b9050611e0381613081565b67ffffffffffffffff16915050919050565b6000603c8242611e2591906151c5565b611e2f91906152d6565b9050919050565b611e43600860ff1661153b565b15611e4d57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ea757600080fd5b611eaf61123c565b8111611eba57600080fd5b6011547f9722adea12ab7ef86fc45b88f0e0b567639e8dddaae60261e08c03d747fbbfe682604051611eec9190614909565b60405180910390a28060118190555050565b6000806000806000611f17611f1287611b2d565b612f33565b9350611f24600354611bd6565b9150611f3f84600260009054906101000a9004600f0b613002565b9250611f5d611f4d84613081565b67ffffffffffffffff168361156e565b945050505050919050565b6000611f7460006129ff565b905090565b600b5481565b6000806000611f8d84611264565b9150611f9884611503565b9050611fa482826111ec565b92505050919050565b600a5481565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461201057600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601082106121c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121bc90615353565b60405180910390fd5b600060125483161461220c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612203906153bf565b60405180910390fd5b81601260008282541792505081905550600f6012541415157f6b7e2e653f93b645d4ed7292d6429f96637084363e477c8aaea1a43ed13c284e6012546040516122559190614909565b60405180910390a26012549050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61229a600260ff1661153b565b156122a457600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146122fe57600080fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061234c61481a565b61235461481a565b61235c61481a565b600080600080600061236c611f68565b50612375613583565b97506123808861127d565b1561239657600098505050505050505050612600565b6000600954815481106123ac576123ab6153df565b5b906000526020600020016040518060600160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a900468ffffffffffffffffff1668ffffffffffffffffff1668ffffffffffffffffff16815260200160008201600d9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681525050955061245988612d6f565b94506001856124689190615059565b905061247386611503565b9350603c857f00000000000000000000000000000000000000000000000000000000000000006124a39190615265565b6124ad91906152d6565b91506124e96124e47f00000000000000000000000000000000000000000000000000000000000000006124df85612f33565b613002565b6130db565b92506124ff6000846124f961123c565b84612d83565b96506000879080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548168ffffffffffffffffff021916908368ffffffffffffffffff160217905550604082015181600001600d6101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050506125bb87613719565b507f55d243082e019fce4009ccea5368b92e436c17586a1e793c7deda16df4e5d675816040516125eb9190614909565b60405180910390a16001985050505050505050505b90565b60078054612610906150bc565b80601f016020809104026020016040519081016040528092919081815260200182805461263c906150bc565b80156126895780601f1061265e57610100808354040283529160200191612689565b820191906000526020600020905b81548152906001019060200180831161266c57829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806126c183611dd4565b905080600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561274c57600080fd5b612754612342565b5080600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546127e191906151c5565b925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040516128c19190614909565b60405180910390a3600191505092915050565b6000806000806128e2611d07565b905060028160ff16036128fb57600093505050506129cf565b60008160ff161115612942576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161293990615139565b60405180910390fd5b61294a612342565b5061295485611dd4565b92506129613387856130b6565b91508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516129c09190614909565b60405180910390a38193505050505b92915050565b600f5481565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806000806000601060009054906101000a900460ff1615612a29576000945050505050612b81565b612a34600354611bd6565b925060008303612a4b576000945050505050612b81565b600260009054906101000a9004600f0b9050600086118015612a6c57508286105b15612a75578592505b612a7e83612f33565b9150612aaa7f000000000000000000000000000000000000000000000000000000000000000083613002565b9350612ab5846130db565b9350612ad0600260009054906101000a9004600f0b85613002565b600260006101000a8154816fffffffffffffffffffffffffffffffff0219169083600f0b6fffffffffffffffffffffffffffffffff160217905550603c83612b189190615265565b600354612b259190615059565b60038190555080600f0b836003547f1c9c74563c32efd114cb36fb5e432d9386c8254d08456614804a33a3088ab736600260009054906101000a9004600f0b604051612b719190614b19565b60405180910390a4829450505050505b919050565b60095481565b60115481565b6000612ba1600460ff1661153b565b15612bab57600080fd5b601060009054906101000a900460ff1615612bc557600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612c1f57600080fd5b7f000000000000000000000000000000000000000000000000000000000000000082612c4b9190615265565b7f0000000000000000000000000000000000000000000000000000000000000000612c769190615059565b9050600f548111612c8657600080fd5b80600f819055505050565b6000600b54905090565b6000612caa600160ff1661153b565b15612cb457600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612d0e57600080fd5b6001600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000816000015163ffffffff169050919050565b612d8b61481a565b612d9361481a565b82816000019063ffffffff16908163ffffffff168152505083816020019068ffffffffffffffffff16908168ffffffffffffffffff168152505067ffffffffffffffff8516816040019067ffffffffffffffff16908167ffffffffffffffff168152505080915050949350505050565b600060017f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000042612e5491906151c5565b612e5e91906152d6565b612e689190615059565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612eed57600080fd5b81600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550919050565b6000677fffffffffffffff821115612f4a57600080fd5b6040829060020a029050919050565b60008082600f0b13612f6a57600080fd5b60806fb17217f7d1cf79abc9e3b39803f2f6af612f8684613838565b600f0b02908060020a82049150509050919050565b60008082600f0b84600f0b0390507fffffffffffffffffffffffffffffffff80000000000000000000000000000000600f0b8112158015612fef57506f7fffffffffffffffffffffffffffffff600f0b8113155b612ff857600080fd5b8091505092915050565b600080604083600f0b85600f0b029060008212600003808260020a82851804189250505090507fffffffffffffffffffffffffffffffff80000000000000000000000000000000600f0b811215801561306e57506f7fffffffffffffffffffffffffffffff600f0b8113155b61307757600080fd5b8091505092915050565b60008082600f0b121561309357600080fd5b604082600f0b9060008212600003808260020a8285180418925050509050919050565b6000806130c38584613168565b506130ce848461326f565b5060019150509392505050565b60006840000000000000000082600f0b126130f557600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000082600f0b12156131295760009050613163565b6131606080700171547652b82fe1777d0ffda0d23a7d1284600f0b029060008212600003808260020a8285180418925050506139fe565b90505b919050565b600080600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600085036131c45760009350505050613269565b6131cd86611b2d565b925084831015613212576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132099061545a565b60405180910390fd5b848361321e91906151c5565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600193505050505b92915050565b600080600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600085036132cb576000935050505061332d565b6132d486611b2d565b925084836132e29190615059565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600193505050505b92915050565b600061333d61481a565b600061334761123c565b90506000600160008054905061335d91906151c5565b8154811061336e5761336d6153df565b5b906000526020600020016040518060600160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a900468ffffffffffffffffff1668ffffffffffffffffff1668ffffffffffffffffff16815260200160008201600d9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681525050915080826020019068ffffffffffffffffff16908168ffffffffffffffffff1681525050816000600160008054905061344991906151c5565b8154811061345a576134596153df565b5b9060005260206000200160008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548168ffffffffffffffffff021916908368ffffffffffffffffff160217905550604082015181600001600d6101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555090505060019250505090565b60008082600f0b0361350857600080fd5b600082600f0b604085600f0b9060020a0281613527576135266152a7565b5b0590507fffffffffffffffffffffffffffffffff80000000000000000000000000000000600f0b811215801561357057506f7fffffffffffffffffffffffffffffff600f0b8113155b61357957600080fd5b8091505092915050565b61358b61481a565b61359361481a565b61359b61481a565b600080600954815481106135b2576135b16153df565b5b906000526020600020016040518060600160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a900468ffffffffffffffffff1668ffffffffffffffffff1668ffffffffffffffffff16815260200160008201600d9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff168152505092503073ffffffffffffffffffffffffffffffffffffffff1663e80952956040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381865afa1580156136bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136e191906154a6565b6fffffffffffffffffffffffffffffffff1690506136fe83612d6f565b811161370f57819350505050613716565b8293505050505b90565b600080600061372784611f7f565b61372f61123c565b61373991906151c5565b9150600a5461374783611dd4565b61375191906151c5565b905061377f600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261326f565b50836000015163ffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f9a2a887706623ad3ff7fc85652deeceabe9fe1e00466c597972079ee91ea40d3846040516137f39190614909565b60405180910390a360016009600082825461380e9190615059565b9250508190555080600a60008282546138279190615059565b925050819055508192505050919050565b60008082600f0b1361384957600080fd5b60008083600f0b9050680100000000000000008112613884576040819060008212600003808260020a82851804189250505090506040820191505b64010000000081126138b2576020819060008212600003808260020a82851804189250505090506020820191505b6201000081126138de576010819060008212600003808260020a82851804189250505090506010820191505b6101008112613909576008819060008212600003808260020a82851804189250505090506008820191505b60108112613933576004819060008212600003808260020a82851804189250505090506004820191505b6004811261395d576002819060008212600003808260020a82851804189250505090506002820191505b6002811261396c576001820191505b600060408084039060020a029050600083607f0386600f0b9060020a029050600067800000000000000090505b60008113156139f1578182029150600060ff83908060020a8204915050905080607f0183908060020a8204915050925080820284019350506001819060008212600003808260020a8285180418925050509050613999565b5081945050505050919050565b60006840000000000000000082600f0b12613a1857600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000082600f0b1215613a4c5760009050614815565b60006f80000000000000000000000000000000905060006780000000000000008416600f0b1315613a9a57608070016a09e667f3bcc908b2fb1366ea957d3e8202908060020a820491505090505b60006740000000000000008416600f0b1315613ad35760807001306fe0a31b7152de8d5a46305c85edec8202908060020a820491505090505b60006720000000000000008416600f0b1315613b0c5760807001172b83c7d517adcdf7c8c50eb14a791f8202908060020a820491505090505b60006710000000000000008416600f0b1315613b4557608070010b5586cf9890f6298b92b71842a983638202908060020a820491505090505b60006708000000000000008416600f0b1315613b7e5760807001059b0d31585743ae7c548eb68ca417fd8202908060020a820491505090505b60006704000000000000008416600f0b1315613bb7576080700102c9a3e778060ee6f7caca4f7a29bde88202908060020a820491505090505b60006702000000000000008416600f0b1315613bf057608070010163da9fb33356d84a66ae336dcdfa3f8202908060020a820491505090505b60006701000000000000008416600f0b1315613c29576080700100b1afa5abcbed6129ab13ec11dc95438202908060020a820491505090505b600066800000000000008416600f0b1315613c6157608070010058c86da1c09ea1ff19d294cf2f679b8202908060020a820491505090505b600066400000000000008416600f0b1315613c995760807001002c605e2e8cec506d21bfc89a23a00f8202908060020a820491505090505b600066200000000000008416600f0b1315613cd1576080700100162f3904051fa128bca9c55c31e5df8202908060020a820491505090505b600066100000000000008416600f0b1315613d095760807001000b175effdc76ba38e31671ca9397258202908060020a820491505090505b600066080000000000008416600f0b1315613d41576080700100058ba01fb9f96d6cacd4b180917c3d8202908060020a820491505090505b600066040000000000008416600f0b1315613d7957608070010002c5cc37da9491d0985c348c68e7b38202908060020a820491505090505b600066020000000000008416600f0b1315613db15760807001000162e525ee054754457d59952920268202908060020a820491505090505b600066010000000000008416600f0b1315613de957608070010000b17255775c040618bf4a4ade83fc8202908060020a820491505090505b6000658000000000008416600f0b1315613e205760807001000058b91b5bc9ae2eed81e9b7d4cfab8202908060020a820491505090505b6000654000000000008416600f0b1315613e57576080700100002c5c89d5ec6ca4d7c8acc017b7c98202908060020a820491505090505b6000652000000000008416600f0b1315613e8e57608070010000162e43f4f831060e02d839a9d16d8202908060020a820491505090505b6000651000000000008416600f0b1315613ec5576080700100000b1721bcfc99d9f890ea069117638202908060020a820491505090505b6000650800000000008416600f0b1315613efc57608070010000058b90cf1e6d97f9ca14dbcc16288202908060020a820491505090505b6000650400000000008416600f0b1315613f335760807001000002c5c863b73f016468f6bac5ca2b8202908060020a820491505090505b6000650200000000008416600f0b1315613f6a576080700100000162e430e5a18f6119e3c02282a58202908060020a820491505090505b6000650100000000008416600f0b1315613fa15760807001000000b1721835514b86e6d96efd1bfe8202908060020a820491505090505b60006480000000008416600f0b1315613fd7576080700100000058b90c0b48c6be5df846c5b2ef8202908060020a820491505090505b60006440000000008416600f0b131561400d57608070010000002c5c8601cc6b9e94213c72737a8202908060020a820491505090505b60006420000000008416600f0b13156140435760807001000000162e42fff037df38aa2b219f068202908060020a820491505090505b60006410000000008416600f0b131561407957608070010000000b17217fba9c739aa5819f44f98202908060020a820491505090505b60006408000000008416600f0b13156140af5760807001000000058b90bfcdee5acd3c1cedc8238202908060020a820491505090505b60006404000000008416600f0b13156140e5576080700100000002c5c85fe31f35a6a30da1be508202908060020a820491505090505b60006402000000008416600f0b131561411b57608070010000000162e42ff0999ce3541b9fffcf8202908060020a820491505090505b60006401000000008416600f0b1315614151576080700100000000b17217f80f4ef5aadda455548202908060020a820491505090505b600063800000008416600f0b131561418657608070010000000058b90bfbf8479bd5a81b51ad8202908060020a820491505090505b600063400000008416600f0b13156141bb5760807001000000002c5c85fdf84bd62ae30a74cc8202908060020a820491505090505b600063200000008416600f0b13156141f0576080700100000000162e42fefb2fed257559bdaa8202908060020a820491505090505b600063100000008416600f0b13156142255760807001000000000b17217f7d5a7716bba4a9ae8202908060020a820491505090505b600063080000008416600f0b131561425a576080700100000000058b90bfbe9ddbac5e109cce8202908060020a820491505090505b600063040000008416600f0b131561428f57608070010000000002c5c85fdf4b15de6f17eb0d8202908060020a820491505090505b600063020000008416600f0b13156142c45760807001000000000162e42fefa494f1478fde058202908060020a820491505090505b600063010000008416600f0b13156142f957608070010000000000b17217f7d20cf927c8e94c8202908060020a820491505090505b6000628000008416600f0b131561432d5760807001000000000058b90bfbe8f71cb4e4b33d8202908060020a820491505090505b6000624000008416600f0b1315614361576080700100000000002c5c85fdf477b662b269458202908060020a820491505090505b6000622000008416600f0b131561439557608070010000000000162e42fefa3ae53369388c8202908060020a820491505090505b6000621000008416600f0b13156143c9576080700100000000000b17217f7d1d351a389d408202908060020a820491505090505b6000620800008416600f0b13156143fd57608070010000000000058b90bfbe8e8b2d3d4ede8202908060020a820491505090505b6000620400008416600f0b13156144315760807001000000000002c5c85fdf4741bea6e77e8202908060020a820491505090505b6000620200008416600f0b1315614465576080700100000000000162e42fefa39fe95583c28202908060020a820491505090505b6000620100008416600f0b13156144995760807001000000000000b17217f7d1cfb72b45e18202908060020a820491505090505b60006180008416600f0b13156144cc576080700100000000000058b90bfbe8e7cc35c3f08202908060020a820491505090505b60006140008416600f0b13156144ff57608070010000000000002c5c85fdf473e242ea388202908060020a820491505090505b60006120008416600f0b13156145325760807001000000000000162e42fefa39f02b772c8202908060020a820491505090505b60006110008416600f0b131561456557608070010000000000000b17217f7d1cf7d83c1a8202908060020a820491505090505b60006108008416600f0b13156145985760807001000000000000058b90bfbe8e7bdcbe2e8202908060020a820491505090505b60006104008416600f0b13156145cb576080700100000000000002c5c85fdf473dea871f8202908060020a820491505090505b60006102008416600f0b13156145fe57608070010000000000000162e42fefa39ef44d918202908060020a820491505090505b60006101008416600f0b1315614631576080700100000000000000b17217f7d1cf79e9498202908060020a820491505090505b600060808416600f0b131561466357608070010000000000000058b90bfbe8e7bce5448202908060020a820491505090505b600060408416600f0b13156146955760807001000000000000002c5c85fdf473de6eca8202908060020a820491505090505b600060208416600f0b13156146c7576080700100000000000000162e42fefa39ef366f8202908060020a820491505090505b600060108416600f0b13156146f95760807001000000000000000b17217f7d1cf79afa8202908060020a820491505090505b600060088416600f0b131561472b576080700100000000000000058b90bfbe8e7bcd6d8202908060020a820491505090505b600060048416600f0b131561475d57608070010000000000000002c5c85fdf473de6b28202908060020a820491505090505b600060028416600f0b131561478f5760807001000000000000000162e42fefa39ef3588202908060020a820491505090505b600060018416600f0b13156147c157608070010000000000000000b17217f7d1cf79ab8202908060020a820491505090505b604083600f0b9060008212600003808260020a828518041892505050603f03600f0b81908060020a820491505090506f7fffffffffffffffffffffffffffffff600f0b81111561481057600080fd5b809150505b919050565b6040518060600160405280600063ffffffff168152602001600068ffffffffffffffffff168152602001600067ffffffffffffffff1681525090565b6000604051905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061489082614865565b9050919050565b6148a081614885565b81146148ab57600080fd5b50565b6000813590506148bd81614897565b92915050565b6000602082840312156148d9576148d8614860565b5b60006148e7848285016148ae565b91505092915050565b6000819050919050565b614903816148f0565b82525050565b600060208201905061491e60008301846148fa565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61495981614924565b811461496457600080fd5b50565b60008135905061497681614950565b92915050565b60006020828403121561499257614991614860565b5b60006149a084828501614967565b91505092915050565b60008115159050919050565b6149be816149a9565b82525050565b60006020820190506149d960008301846149b5565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015614a195780820151818401526020810190506149fe565b60008484015250505050565b6000601f19601f8301169050919050565b6000614a41826149df565b614a4b81856149ea565b9350614a5b8185602086016149fb565b614a6481614a25565b840191505092915050565b60006020820190508181036000830152614a898184614a36565b905092915050565b614a9a816148f0565b8114614aa557600080fd5b50565b600081359050614ab781614a91565b92915050565b60008060408385031215614ad457614ad3614860565b5b6000614ae2858286016148ae565b9250506020614af385828601614aa8565b9150509250929050565b600081600f0b9050919050565b614b1381614afd565b82525050565b6000602082019050614b2e6000830184614b0a565b92915050565b614b3d81614afd565b8114614b4857600080fd5b50565b600081359050614b5a81614b34565b92915050565b60008060408385031215614b7757614b76614860565b5b6000614b8585828601614aa8565b9250506020614b9685828601614b4b565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b614bdd82614a25565b810181811067ffffffffffffffff82111715614bfc57614bfb614ba5565b5b80604052505050565b6000614c0f614856565b9050614c1b8282614bd4565b919050565b600063ffffffff82169050919050565b614c3981614c20565b8114614c4457600080fd5b50565b600081359050614c5681614c30565b92915050565b600068ffffffffffffffffff82169050919050565b614c7a81614c5c565b8114614c8557600080fd5b50565b600081359050614c9781614c71565b92915050565b600067ffffffffffffffff82169050919050565b614cba81614c9d565b8114614cc557600080fd5b50565b600081359050614cd781614cb1565b92915050565b600060608284031215614cf357614cf2614ba0565b5b614cfd6060614c05565b90506000614d0d84828501614c47565b6000830152506020614d2184828501614c88565b6020830152506040614d3584828501614cc8565b60408301525092915050565b600060608284031215614d5757614d56614860565b5b6000614d6584828501614cdd565b91505092915050565b600080600060608486031215614d8757614d86614860565b5b6000614d95868287016148ae565b9350506020614da6868287016148ae565b9250506040614db786828701614aa8565b9150509250925092565b600060208284031215614dd757614dd6614860565b5b6000614de584828501614aa8565b91505092915050565b60008060408385031215614e0557614e04614860565b5b6000614e1385828601614aa8565b9250506020614e2485828601614aa8565b9150509250929050565b614e3781614c20565b82525050565b614e4681614c5c565b82525050565b614e5581614c9d565b82525050565b6000606082019050614e706000830186614e2e565b614e7d6020830185614e3d565b614e8a6040830184614e4c565b949350505050565b600060ff82169050919050565b614ea881614e92565b82525050565b6000602082019050614ec36000830184614e9f565b92915050565b614ed281614885565b82525050565b6000602082019050614eed6000830184614ec9565b92915050565b60008060008060808587031215614f0d57614f0c614860565b5b6000614f1b87828801614aa8565b9450506020614f2c87828801614b4b565b9350506040614f3d87828801614aa8565b9250506060614f4e87828801614aa8565b91505092959194509250565b614f6381614c20565b82525050565b614f7281614c5c565b82525050565b614f8181614c9d565b82525050565b606082016000820151614f9d6000850182614f5a565b506020820151614fb06020850182614f69565b506040820151614fc36040850182614f78565b50505050565b6000606082019050614fde6000830184614f87565b92915050565b60006fffffffffffffffffffffffffffffffff82169050919050565b61500981614fe4565b82525050565b60006020820190506150246000830184615000565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000615064826148f0565b915061506f836148f0565b92508282019050808211156150875761508661502a565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806150d457607f821691505b6020821081036150e7576150e661508d565b5b50919050565b7f4558504952454400000000000000000000000000000000000000000000000000600082015250565b60006151236007836149ea565b915061512e826150ed565b602082019050919050565b6000602082019050818103600083015261515281615116565b9050919050565b7f5a45524f5f464952535400000000000000000000000000000000000000000000600082015250565b600061518f600a836149ea565b915061519a82615159565b602082019050919050565b600060208201905081810360008301526151be81615182565b9050919050565b60006151d0826148f0565b91506151db836148f0565b92508282039050818111156151f3576151f261502a565b5b92915050565b7f4552525f41434345535300000000000000000000000000000000000000000000600082015250565b600061522f600a836149ea565b915061523a826151f9565b602082019050919050565b6000602082019050818103600083015261525e81615222565b9050919050565b6000615270826148f0565b915061527b836148f0565b9250828202615289816148f0565b915082820484148315176152a05761529f61502a565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006152e1826148f0565b91506152ec836148f0565b9250826152fc576152fb6152a7565b5b828204905092915050565b7f4552525f494e56414c49445f5354415445000000000000000000000000000000600082015250565b600061533d6011836149ea565b915061534882615307565b602082019050919050565b6000602082019050818103600083015261536c81615330565b9050919050565b7f4552525f414c52454144595f4c4f434b45440000000000000000000000000000600082015250565b60006153a96012836149ea565b91506153b482615373565b602082019050919050565b600060208201905081810360008301526153d88161539c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552525f4f5645525350454e4400000000000000000000000000000000000000600082015250565b6000615444600d836149ea565b915061544f8261540e565b602082019050919050565b6000602082019050818103600083015261547381615437565b9050919050565b61548381614fe4565b811461548e57600080fd5b50565b6000815190506154a08161547a565b92915050565b6000602082840312156154bc576154bb614860565b5b60006154ca84828501615491565b9150509291505056fea2646970667358221220dd12d17c82bae51dab9df921745b40561cc71eacb629c0c8481b25a5153bddc264736f6c63430008110033 -\ No newline at end of file +6101006040523480156200001257600080fd5b506040516200621c3803806200621c833981810160405281019062000038919062000863565b6801000000000000000083600f0b126200005157600080fd5b6200005b62000578565b33600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508660069081620000ad919062000b84565b508560079081620000bf919062000b84565b508460ff16608081815250504260038190555060035460a08181525050603c83620000eb919062000c9a565b60c08181525050620001126001620002a96401000000000262002ee1176401000000009004565b600260006101000a8154816fffffffffffffffffffffffffffffffff0219169083600f0b6fffffffffffffffffffffffffffffffff1602179055506200016c84620002d06401000000000262002f07176401000000009004565b600f0b60e081600f0b81525050620001a86000600260009054906101000a9004600f0b6000600162000324640100000000026401000000009004565b90506000819080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548168ffffffffffffffffff021916908368ffffffffffffffffff160217905550604082015181600001600d6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505081600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050505062000ce5565b6000677fffffffffffffff821115620002c157600080fd5b6040829060020a029050919050565b60008082600f0b13620002e257600080fd5b60806fb17217f7d1cf79abc9e3b39803f2f6af6200030f84620003a8640100000000026401000000009004565b600f0b02908060020a82049150509050919050565b6200032e62000578565b6200033862000578565b82816000019063ffffffff16908163ffffffff168152505083816020019068ffffffffffffffffff16908168ffffffffffffffffff168152505067ffffffffffffffff8516816040019067ffffffffffffffff16908167ffffffffffffffff168152505080915050949350505050565b60008082600f0b13620003ba57600080fd5b60008083600f0b9050680100000000000000008112620003f6576040819060008212600003808260020a82851804189250505090506040820191505b640100000000811262000425576020819060008212600003808260020a82851804189250505090506020820191505b62010000811262000452576010819060008212600003808260020a82851804189250505090506010820191505b61010081126200047e576008819060008212600003808260020a82851804189250505090506008820191505b60108112620004a9576004819060008212600003808260020a82851804189250505090506004820191505b60048112620004d4576002819060008212600003808260020a82851804189250505090506002820191505b60028112620004e4576001820191505b600060408084039060020a029050600083607f0386600f0b9060020a029050600067800000000000000090505b60008113156200056b578182029150600060ff83908060020a8204915050905080607f0183908060020a8204915050925080820284019350506001819060008212600003808260020a828518041892505050905062000511565b5081945050505050919050565b6040518060600160405280600063ffffffff168152602001600068ffffffffffffffffff168152602001600067ffffffffffffffff1681525090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200061d82620005d2565b810181811067ffffffffffffffff821117156200063f576200063e620005e3565b5b80604052505050565b600062000654620005b4565b905062000662828262000612565b919050565b600067ffffffffffffffff821115620006855762000684620005e3565b5b6200069082620005d2565b9050602081019050919050565b60005b83811015620006bd578082015181840152602081019050620006a0565b60008484015250505050565b6000620006e0620006da8462000667565b62000648565b905082815260208101848484011115620006ff57620006fe620005cd565b5b6200070c8482856200069d565b509392505050565b600082601f8301126200072c576200072b620005c8565b5b81516200073e848260208601620006c9565b91505092915050565b600060ff82169050919050565b6200075f8162000747565b81146200076b57600080fd5b50565b6000815190506200077f8162000754565b92915050565b600081600f0b9050919050565b6200079d8162000785565b8114620007a957600080fd5b50565b600081519050620007bd8162000792565b92915050565b6000819050919050565b620007d881620007c3565b8114620007e457600080fd5b50565b600081519050620007f881620007cd565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200082b82620007fe565b9050919050565b6200083d816200081e565b81146200084957600080fd5b50565b6000815190506200085d8162000832565b92915050565b60008060008060008060c08789031215620008835762000882620005be565b5b600087015167ffffffffffffffff811115620008a457620008a3620005c3565b5b620008b289828a0162000714565b965050602087015167ffffffffffffffff811115620008d657620008d5620005c3565b5b620008e489828a0162000714565b9550506040620008f789828a016200076e565b94505060606200090a89828a01620007ac565b93505060806200091d89828a01620007e7565b92505060a06200093089828a016200084c565b9150509295509295509295565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200099057607f821691505b602082108103620009a657620009a562000948565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b60008160020a8302905092915050565b60006008830262000a137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620009d1565b62000a1f8683620009d1565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000a6262000a5c62000a5684620007c3565b62000a37565b620007c3565b9050919050565b6000819050919050565b62000a7e8362000a41565b62000a9662000a8d8262000a69565b848454620009e1565b825550505050565b600090565b62000aad62000a9e565b62000aba81848462000a73565b505050565b5b8181101562000ae25762000ad660008262000aa3565b60018101905062000ac0565b5050565b601f82111562000b315762000afb81620009ac565b62000b0684620009c1565b8101602085101562000b16578190505b62000b2e62000b2585620009c1565b83018262000abf565b50505b505050565b60008160020a8304905092915050565b600062000b596000198460080262000b36565b1980831691505092915050565b600062000b74838362000b46565b9150826002028217905092915050565b62000b8f826200093d565b67ffffffffffffffff81111562000bab5762000baa620005e3565b5b62000bb7825462000977565b62000bc482828562000ae6565b600060209050601f83116001811462000bfc576000841562000be7578287015190505b62000bf3858262000b66565b86555062000c63565b601f19841662000c0c86620009ac565b60005b8281101562000c365784890151825560018201915060208501945060208101905062000c0f565b8683101562000c56578489015162000c52601f89168262000b46565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000ca782620007c3565b915062000cb483620007c3565b925082820262000cc481620007c3565b9150828204841483151762000cde5762000cdd62000c6b565b5b5092915050565b60805160a05160c05160e0516154b762000d656000396000818161153d01528181612465015281816126410152612a33015260008181611b28015281816124280152818161298b01528181612bcf0152612db7015260008181611b5401528181612bfb01528181612dd80152612e1d0152600061159b01526154b76000f3fe608060405234801561001057600080fd5b50600436106103ab576000357c0100000000000000000000000000000000000000000000000000000000900480636f8b44b0116101fb578063a457c2d71161012c578063d7a52fa9116100ca578063e69571af11610099578063e69571af14610be4578063e809529514610c14578063eda4e6d614610c32578063f2fde38b14610c50576103ab565b8063d7a52fa914610b4a578063d89135cd14610b66578063da2824a814610b84578063e54063a614610bb4576103ab565b8063b470aade11610106578063b470aade14610ac0578063c0ab707714610ade578063d340ef8a14610b0e578063d5abeb0114610b2c576103ab565b8063a457c2d714610a42578063a9059cbb14610a72578063b1cb0db314610aa2576103ab565b806384dde4af116101995780638f0b2d5d116101735780638f0b2d5d146109cc5780638f1df6bc146109e857806395d89b4114610a065780639f24880814610a24576103ab565b806384dde4af1461096057806386fe212d1461097e5780638da5cb5b146109ae576103ab565b806373f42561116101d557806373f42561146108d65780637445e33a146108f457806374bedb951461092457806379ba509714610942576103ab565b80636f8b44b01461086c57806370a0823114610888578063731f237c146108b8576103ab565b806331333487116102e057806347a505171161027e5780635ae06f7e1161024d5780635ae06f7e146107be5780635f408c04146107ee5780636787a9be1461080c5780636a2d094e1461083c576103ab565b806347a50517146107105780634abfbba21461074057806351b4541c1461077057806358b2833b146107a0576103ab565b806339509351116102ba578063395093511461066257806340452d911461069257806342966c68146106c4578063449a52f8146106e0576103ab565b806331333487146105f6578063313ce5671461062657806331a5995d14610644576103ab565b806318cbbcfc1161034d57806323a859441161032757806323a859441461053657806323b872dd146105665780632a7aec09146105965780632c1758c1146105c6576103ab565b806318cbbcfc146104ca5780631989c6a8146104e8578063213d1e1e14610506576103ab565b8063095ea7b311610389578063095ea7b31461042e57806309f28f3c1461045e57806311c566151461047c57806318160ddd146104ac576103ab565b806301681a62146103b057806301ffc9a7146103e057806306fdde0314610410575b600080fd5b6103ca60048036038101906103c59190614871565b610c80565b6040516103d791906148b7565b60405180910390f35b6103fa60048036038101906103f5919061492a565b610d69565b6040516104079190614972565b60405180910390f35b610418610ebd565b6040516104259190614a1d565b60405180910390f35b61044860048036038101906104439190614a6b565b610f4b565b6040516104559190614972565b60405180910390f35b610466611187565b6040516104739190614ac7565b60405180910390f35b61049660048036038101906104919190614b0e565b61119a565b6040516104a391906148b7565b60405180910390f35b6104b46111ea565b6040516104c191906148b7565b60405180910390f35b6104d2611201565b6040516104df91906148b7565b60405180910390f35b6104f0611206565b6040516104fd91906148b7565b60405180910390f35b610520600480360381019061051b9190614cef565b611212565b60405161052d91906148b7565b60405180910390f35b610550600480360381019061054b9190614cef565b61122b565b60405161055d9190614972565b60405180910390f35b610580600480360381019061057b9190614d1c565b611293565b60405161058d9190614972565b60405180910390f35b6105b060048036038101906105ab9190614cef565b6114b1565b6040516105bd9190614ac7565b60405180910390f35b6105e060048036038101906105db9190614d6f565b6114e9565b6040516105ed9190614972565b60405180910390f35b610610600480360381019061060b9190614d9c565b61151c565b60405161061d91906148b7565b60405180910390f35b61062e611599565b60405161063b91906148b7565b60405180910390f35b61064c6115bd565b60405161065991906148b7565b60405180910390f35b61067c60048036038101906106779190614a6b565b6115c3565b6040516106899190614972565b60405180910390f35b6106ac60048036038101906106a79190614d6f565b611759565b6040516106bb93929190614e09565b60405180910390f35b6106de60048036038101906106d99190614d6f565b6117c8565b005b6106fa60048036038101906106f59190614a6b565b611904565b6040516107079190614972565b60405180910390f35b61072a60048036038101906107259190614871565b611adb565b60405161073791906148b7565b60405180910390f35b61075a60048036038101906107559190614d6f565b611b24565b60405161076791906148b7565b60405180910390f35b61078a60048036038101906107859190614d6f565b611b84565b60405161079791906148b7565b60405180910390f35b6107a8611ba5565b6040516107b591906148b7565b60405180910390f35b6107d860048036038101906107d39190614871565b611bab565b6040516107e59190614972565b60405180910390f35b6107f6611cb5565b6040516108039190614e5c565b60405180910390f35b61082660048036038101906108219190614d6f565b611d82565b60405161083391906148b7565b60405180910390f35b61085660048036038101906108519190614d6f565b611dc3565b60405161086391906148b7565b60405180910390f35b61088660048036038101906108819190614d6f565b611de4565b005b6108a2600480360381019061089d9190614871565b611eac565b6040516108af91906148b7565b60405180910390f35b6108c0611f16565b6040516108cd91906148b7565b60405180910390f35b6108de611f27565b6040516108eb91906148b7565b60405180910390f35b61090e60048036038101906109099190614cef565b611f2d565b60405161091b91906148b7565b60405180910390f35b61092c611f5b565b60405161093991906148b7565b60405180910390f35b61094a611f61565b6040516109579190614972565b60405180910390f35b610968612108565b6040516109759190614e86565b60405180910390f35b61099860048036038101906109939190614d6f565b61212e565b6040516109a591906148b7565b60405180910390f35b6109b6612215565b6040516109c39190614e86565b60405180910390f35b6109e660048036038101906109e19190614871565b61223b565b005b6109f06122f0565b6040516109fd9190614972565b60405180910390f35b610a0e6125b1565b604051610a1b9190614a1d565b60405180910390f35b610a2c61263f565b604051610a399190614ac7565b60405180910390f35b610a5c6004803603810190610a579190614a6b565b612663565b604051610a699190614972565b60405180910390f35b610a8c6004803603810190610a879190614a6b565b612882565b604051610a999190614972565b60405180910390f35b610aaa612983565b604051610ab791906148b7565b60405180910390f35b610ac8612989565b604051610ad591906148b7565b60405180910390f35b610af86004803603810190610af39190614d6f565b6129ad565b604051610b0591906148b7565b60405180910390f35b610b16612b34565b604051610b2391906148b7565b60405180910390f35b610b34612b3a565b604051610b4191906148b7565b60405180910390f35b610b646004803603810190610b5f9190614d6f565b612b40565b005b610b6e612c3f565b604051610b7b91906148b7565b60405180910390f35b610b9e6004803603810190610b999190614871565b612c49565b604051610bab9190614972565b60405180910390f35b610bce6004803603810190610bc99190614cef565b612d1d565b604051610bdb91906148b7565b60405180910390f35b610bfe6004803603810190610bf99190614ea1565b612d31565b604051610c0b9190614f77565b60405180910390f35b610c1c612db1565b604051610c299190614fbd565b60405180910390f35b610c3a612e1b565b604051610c4791906148b7565b60405180910390f35b610c6a6004803603810190610c659190614871565b612e3f565b604051610c779190614972565b60405180910390f35b600080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d599190615007565b9250508190555080915050919050565b600063c6bb4b707c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610dbd5760019050610eb8565b63449a52f87c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610e0f5760019050610eb8565b6301ffc9a77c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610e615760019050610eb8565b639493f8b27c010000000000000000000000000000000000000000000000000000000002827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610eb35760019050610eb8565b600090505b919050565b60068054610eca9061506a565b80601f0160208091040260200160405190810160405280929190818152602001828054610ef69061506a565b8015610f435780601f10610f1857610100808354040283529160200191610f43565b820191906000526020600020905b815481529060010190602001808311610f2657829003601f168201915b505050505081565b6000806000610f58611cb5565b905060028160ff1603610f7057600092505050611181565b60008160ff161115610fb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fae906150e7565b60405180910390fd5b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611080576000841461107f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107690615153565b60405180910390fd5b5b6110886122f0565b5061109284611d82565b915081600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258660405161117291906148b7565b60405180910390a36001925050505b92915050565b600260009054906101000a9004600f0b81565b6000806111c16111a985612ee1565b6111bc6111b66001612ee1565b86612f49565b612fb0565b90506111cc8161302f565b67ffffffffffffffff16846111e19190615173565b91505092915050565b6000600b546008546111fc9190615173565b905090565b600f81565b60008080549050905090565b6000816020015168ffffffffffffffffff169050919050565b600080826000015163ffffffff161115611248576000905061128e565b6000826020015168ffffffffffffffffff161115611269576000905061128e565b6000826040015167ffffffffffffffff161115611289576000905061128e565b600190505b919050565b6000806000806112a1611cb5565b905060028160ff16036112ba57600093505050506114aa565b60008160ff161115611301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f8906150e7565b60405180910390fd5b6113096122f0565b5061131385611d82565b925082600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561139e57600080fd5b82600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461142a9190615173565b9250508190555061143c878785613064565b91508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8760405161149b91906148b7565b60405180910390a38193505050505b9392505050565b60008067ffffffffffffffff836040015160070b169050600081600f0b036114e0576114dd6001612ee1565b90505b80915050919050565b6000600f82106114f857600080fd5b6000820361150d57600f601254149050611517565b8160125483161490505b919050565b60008060008061152b86612ee1565b925061153685612ee1565b91506115627f000000000000000000000000000000000000000000000000000000000000000083612fb0565b905061156d81613089565b90506115798382612fb0565b90506115848161302f565b67ffffffffffffffff16935050505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60125481565b6000806115ce6122f0565b506115d883611d82565b905080600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116669190615007565b925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405161174691906148b7565b60405180910390a3600191505092915050565b6000818154811061176957600080fd5b906000526020600020016000915090508060000160009054906101000a900463ffffffff16908060000160049054906101000a900468ffffffffffffffffff169080600001600d9054906101000a900467ffffffffffffffff16905083565b60006117d2611cb5565b60ff16146117df57600080fd5b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661183557600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561188157600080fd5b600061188c82611d82565b90506118983382613116565b5081600b60008282546118ab9190615007565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040516118f891906148b7565b60405180910390a25050565b6000806000611911611cb5565b60ff161461191e57600080fd5b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119c35750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f9906151f3565b60405180910390fd5b611a0a6122f0565b5060006011541115611a335760115483600854611a279190615007565b1115611a3257600080fd5b5b8260086000828254611a459190615007565b92505081905550611a5583611d82565b9050611a61848261321d565b508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f885604051611abf91906148b7565b60405180910390a3611acf6132e1565b50600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60007f000000000000000000000000000000000000000000000000000000000000000082611b529190615213565b7f0000000000000000000000000000000000000000000000000000000000000000611b7d9190615007565b9050919050565b6000603c8242611b949190615173565b611b9e9190615284565b9050919050565b60035481565b6000611bba600160ff166114e9565b15611bc457600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611c4b57503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611c5457600080fd5b6000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000601060009054906101000a900460ff1615611cd55760019050611d7f565b6000600f5403611ce85760009050611d7f565b600f544210611d7a57611d15603c600354611d039190615284565b600f54611d109190615173565b6129ad565b506001601060006101000a81548160ff0219169083151502179055507ff80dbaea4785589e52984ca36a31de106adc77759539a5c7d92883bf49692fe942604051611d6091906148b7565b60405180910390a1611d706122f0565b5060029050611d7f565b600090505b90565b600080611da6611d9184612ee1565b600260009054906101000a9004600f0b6134a5565b9050611db18161302f565b67ffffffffffffffff16915050919050565b6000603c8242611dd39190615173565b611ddd9190615284565b9050919050565b611df1600860ff166114e9565b15611dfb57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e5557600080fd5b611e5d6111ea565b8111611e6857600080fd5b6011547f9722adea12ab7ef86fc45b88f0e0b567639e8dddaae60261e08c03d747fbbfe682604051611e9a91906148b7565b60405180910390a28060118190555050565b6000806000806000611ec5611ec087611adb565b612ee1565b9350611ed2600354611b84565b9150611eed84600260009054906101000a9004600f0b612fb0565b9250611f0b611efb8461302f565b67ffffffffffffffff168361151c565b945050505050919050565b6000611f2260006129ad565b905090565b600b5481565b6000806000611f3b84611212565b9150611f46846114b1565b9050611f52828261119a565b92505050919050565b600a5481565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611fbe57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060108210612173576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216a90615301565b60405180910390fd5b60006012548316146121ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b19061536d565b60405180910390fd5b81601260008282541792505081905550600f6012541415157f6b7e2e653f93b645d4ed7292d6429f96637084363e477c8aaea1a43ed13c284e60125460405161220391906148b7565b60405180910390a26012549050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b612248600260ff166114e9565b1561225257600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146122ac57600080fd5b80600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006122fa6147c8565b6123026147c8565b61230a6147c8565b600080600080600061231a611f16565b50612323613531565b975061232e8861122b565b15612344576000985050505050505050506125ae565b60006009548154811061235a5761235961538d565b5b906000526020600020016040518060600160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a900468ffffffffffffffffff1668ffffffffffffffffff1668ffffffffffffffffff16815260200160008201600d9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681525050955061240788612d1d565b94506001856124169190615007565b9050612421866114b1565b9350603c857f00000000000000000000000000000000000000000000000000000000000000006124519190615213565b61245b9190615284565b91506124976124927f000000000000000000000000000000000000000000000000000000000000000061248d85612ee1565b612fb0565b613089565b92506124ad6000846124a76111ea565b84612d31565b96506000879080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548168ffffffffffffffffff021916908368ffffffffffffffffff160217905550604082015181600001600d6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050612569876136c7565b507f55d243082e019fce4009ccea5368b92e436c17586a1e793c7deda16df4e5d6758160405161259991906148b7565b60405180910390a16001985050505050505050505b90565b600780546125be9061506a565b80601f01602080910402602001604051908101604052809291908181526020018280546125ea9061506a565b80156126375780601f1061260c57610100808354040283529160200191612637565b820191906000526020600020905b81548152906001019060200180831161261a57829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008061266f83611d82565b905080600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156126fa57600080fd5b6127026122f0565b5080600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461278f9190615173565b925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405161286f91906148b7565b60405180910390a3600191505092915050565b600080600080612890611cb5565b905060028160ff16036128a9576000935050505061297d565b60008160ff1611156128f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128e7906150e7565b60405180910390fd5b6128f86122f0565b5061290285611d82565b925061290f338785613064565b91508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8760405161296e91906148b7565b60405180910390a38193505050505b92915050565b600f5481565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806000806000601060009054906101000a900460ff16156129d7576000945050505050612b2f565b6129e2600354611b84565b9250600083036129f9576000945050505050612b2f565b600260009054906101000a9004600f0b9050600086118015612a1a57508286105b15612a23578592505b612a2c83612ee1565b9150612a587f000000000000000000000000000000000000000000000000000000000000000083612fb0565b9350612a6384613089565b9350612a7e600260009054906101000a9004600f0b85612fb0565b600260006101000a8154816fffffffffffffffffffffffffffffffff0219169083600f0b6fffffffffffffffffffffffffffffffff160217905550603c83612ac69190615213565b600354612ad39190615007565b60038190555080600f0b836003547f1c9c74563c32efd114cb36fb5e432d9386c8254d08456614804a33a3088ab736600260009054906101000a9004600f0b604051612b1f9190614ac7565b60405180910390a4829450505050505b919050565b60095481565b60115481565b6000612b4f600460ff166114e9565b15612b5957600080fd5b601060009054906101000a900460ff1615612b7357600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612bcd57600080fd5b7f000000000000000000000000000000000000000000000000000000000000000082612bf99190615213565b7f0000000000000000000000000000000000000000000000000000000000000000612c249190615007565b9050600f548111612c3457600080fd5b80600f819055505050565b6000600b54905090565b6000612c58600160ff166114e9565b15612c6257600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612cbc57600080fd5b6001600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b6000816000015163ffffffff169050919050565b612d396147c8565b612d416147c8565b82816000019063ffffffff16908163ffffffff168152505083816020019068ffffffffffffffffff16908168ffffffffffffffffff168152505067ffffffffffffffff8516816040019067ffffffffffffffff16908167ffffffffffffffff168152505080915050949350505050565b600060017f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000042612e029190615173565b612e0c9190615284565b612e169190615007565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612e9b57600080fd5b81600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550919050565b6000677fffffffffffffff821115612ef857600080fd5b6040829060020a029050919050565b60008082600f0b13612f1857600080fd5b60806fb17217f7d1cf79abc9e3b39803f2f6af612f34846137e6565b600f0b02908060020a82049150509050919050565b60008082600f0b84600f0b0390507fffffffffffffffffffffffffffffffff80000000000000000000000000000000600f0b8112158015612f9d57506f7fffffffffffffffffffffffffffffff600f0b8113155b612fa657600080fd5b8091505092915050565b600080604083600f0b85600f0b029060008212600003808260020a82851804189250505090507fffffffffffffffffffffffffffffffff80000000000000000000000000000000600f0b811215801561301c57506f7fffffffffffffffffffffffffffffff600f0b8113155b61302557600080fd5b8091505092915050565b60008082600f0b121561304157600080fd5b604082600f0b9060008212600003808260020a8285180418925050509050919050565b6000806130718584613116565b5061307c848461321d565b5060019150509392505050565b60006840000000000000000082600f0b126130a357600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000082600f0b12156130d75760009050613111565b61310e6080700171547652b82fe1777d0ffda0d23a7d1284600f0b029060008212600003808260020a8285180418925050506139ac565b90505b919050565b600080600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600085036131725760009350505050613217565b61317b86611adb565b9250848310156131c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131b790615408565b60405180910390fd5b84836131cc9190615173565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600193505050505b92915050565b600080600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000850361327957600093505050506132db565b61328286611adb565b925084836132909190615007565b600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600193505050505b92915050565b60006132eb6147c8565b60006132f56111ea565b90506000600160008054905061330b9190615173565b8154811061331c5761331b61538d565b5b906000526020600020016040518060600160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a900468ffffffffffffffffff1668ffffffffffffffffff1668ffffffffffffffffff16815260200160008201600d9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681525050915080826020019068ffffffffffffffffff16908168ffffffffffffffffff168152505081600060016000805490506133f79190615173565b815481106134085761340761538d565b5b9060005260206000200160008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a81548168ffffffffffffffffff021916908368ffffffffffffffffff160217905550604082015181600001600d6101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555090505060019250505090565b60008082600f0b036134b657600080fd5b600082600f0b604085600f0b9060020a02816134d5576134d4615255565b5b0590507fffffffffffffffffffffffffffffffff80000000000000000000000000000000600f0b811215801561351e57506f7fffffffffffffffffffffffffffffff600f0b8113155b61352757600080fd5b8091505092915050565b6135396147c8565b6135416147c8565b6135496147c8565b600080600954815481106135605761355f61538d565b5b906000526020600020016040518060600160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a900468ffffffffffffffffff1668ffffffffffffffffff1668ffffffffffffffffff16815260200160008201600d9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff168152505092503073ffffffffffffffffffffffffffffffffffffffff1663e80952956040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381865afa15801561366b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061368f9190615454565b6fffffffffffffffffffffffffffffffff1690506136ac83612d1d565b81116136bd578193505050506136c4565b8293505050505b90565b60008060006136d584611f2d565b6136dd6111ea565b6136e79190615173565b9150600a546136f583611d82565b6136ff9190615173565b905061372d600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261321d565b50836000015163ffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f9a2a887706623ad3ff7fc85652deeceabe9fe1e00466c597972079ee91ea40d3846040516137a191906148b7565b60405180910390a36001600960008282546137bc9190615007565b9250508190555080600a60008282546137d59190615007565b925050819055508192505050919050565b60008082600f0b136137f757600080fd5b60008083600f0b9050680100000000000000008112613832576040819060008212600003808260020a82851804189250505090506040820191505b6401000000008112613860576020819060008212600003808260020a82851804189250505090506020820191505b62010000811261388c576010819060008212600003808260020a82851804189250505090506010820191505b61010081126138b7576008819060008212600003808260020a82851804189250505090506008820191505b601081126138e1576004819060008212600003808260020a82851804189250505090506004820191505b6004811261390b576002819060008212600003808260020a82851804189250505090506002820191505b6002811261391a576001820191505b600060408084039060020a029050600083607f0386600f0b9060020a029050600067800000000000000090505b600081131561399f578182029150600060ff83908060020a8204915050905080607f0183908060020a8204915050925080820284019350506001819060008212600003808260020a8285180418925050509050613947565b5081945050505050919050565b60006840000000000000000082600f0b126139c657600080fd5b7fffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000082600f0b12156139fa57600090506147c3565b60006f80000000000000000000000000000000905060006780000000000000008416600f0b1315613a4857608070016a09e667f3bcc908b2fb1366ea957d3e8202908060020a820491505090505b60006740000000000000008416600f0b1315613a815760807001306fe0a31b7152de8d5a46305c85edec8202908060020a820491505090505b60006720000000000000008416600f0b1315613aba5760807001172b83c7d517adcdf7c8c50eb14a791f8202908060020a820491505090505b60006710000000000000008416600f0b1315613af357608070010b5586cf9890f6298b92b71842a983638202908060020a820491505090505b60006708000000000000008416600f0b1315613b2c5760807001059b0d31585743ae7c548eb68ca417fd8202908060020a820491505090505b60006704000000000000008416600f0b1315613b65576080700102c9a3e778060ee6f7caca4f7a29bde88202908060020a820491505090505b60006702000000000000008416600f0b1315613b9e57608070010163da9fb33356d84a66ae336dcdfa3f8202908060020a820491505090505b60006701000000000000008416600f0b1315613bd7576080700100b1afa5abcbed6129ab13ec11dc95438202908060020a820491505090505b600066800000000000008416600f0b1315613c0f57608070010058c86da1c09ea1ff19d294cf2f679b8202908060020a820491505090505b600066400000000000008416600f0b1315613c475760807001002c605e2e8cec506d21bfc89a23a00f8202908060020a820491505090505b600066200000000000008416600f0b1315613c7f576080700100162f3904051fa128bca9c55c31e5df8202908060020a820491505090505b600066100000000000008416600f0b1315613cb75760807001000b175effdc76ba38e31671ca9397258202908060020a820491505090505b600066080000000000008416600f0b1315613cef576080700100058ba01fb9f96d6cacd4b180917c3d8202908060020a820491505090505b600066040000000000008416600f0b1315613d2757608070010002c5cc37da9491d0985c348c68e7b38202908060020a820491505090505b600066020000000000008416600f0b1315613d5f5760807001000162e525ee054754457d59952920268202908060020a820491505090505b600066010000000000008416600f0b1315613d9757608070010000b17255775c040618bf4a4ade83fc8202908060020a820491505090505b6000658000000000008416600f0b1315613dce5760807001000058b91b5bc9ae2eed81e9b7d4cfab8202908060020a820491505090505b6000654000000000008416600f0b1315613e05576080700100002c5c89d5ec6ca4d7c8acc017b7c98202908060020a820491505090505b6000652000000000008416600f0b1315613e3c57608070010000162e43f4f831060e02d839a9d16d8202908060020a820491505090505b6000651000000000008416600f0b1315613e73576080700100000b1721bcfc99d9f890ea069117638202908060020a820491505090505b6000650800000000008416600f0b1315613eaa57608070010000058b90cf1e6d97f9ca14dbcc16288202908060020a820491505090505b6000650400000000008416600f0b1315613ee15760807001000002c5c863b73f016468f6bac5ca2b8202908060020a820491505090505b6000650200000000008416600f0b1315613f18576080700100000162e430e5a18f6119e3c02282a58202908060020a820491505090505b6000650100000000008416600f0b1315613f4f5760807001000000b1721835514b86e6d96efd1bfe8202908060020a820491505090505b60006480000000008416600f0b1315613f85576080700100000058b90c0b48c6be5df846c5b2ef8202908060020a820491505090505b60006440000000008416600f0b1315613fbb57608070010000002c5c8601cc6b9e94213c72737a8202908060020a820491505090505b60006420000000008416600f0b1315613ff15760807001000000162e42fff037df38aa2b219f068202908060020a820491505090505b60006410000000008416600f0b131561402757608070010000000b17217fba9c739aa5819f44f98202908060020a820491505090505b60006408000000008416600f0b131561405d5760807001000000058b90bfcdee5acd3c1cedc8238202908060020a820491505090505b60006404000000008416600f0b1315614093576080700100000002c5c85fe31f35a6a30da1be508202908060020a820491505090505b60006402000000008416600f0b13156140c957608070010000000162e42ff0999ce3541b9fffcf8202908060020a820491505090505b60006401000000008416600f0b13156140ff576080700100000000b17217f80f4ef5aadda455548202908060020a820491505090505b600063800000008416600f0b131561413457608070010000000058b90bfbf8479bd5a81b51ad8202908060020a820491505090505b600063400000008416600f0b13156141695760807001000000002c5c85fdf84bd62ae30a74cc8202908060020a820491505090505b600063200000008416600f0b131561419e576080700100000000162e42fefb2fed257559bdaa8202908060020a820491505090505b600063100000008416600f0b13156141d35760807001000000000b17217f7d5a7716bba4a9ae8202908060020a820491505090505b600063080000008416600f0b1315614208576080700100000000058b90bfbe9ddbac5e109cce8202908060020a820491505090505b600063040000008416600f0b131561423d57608070010000000002c5c85fdf4b15de6f17eb0d8202908060020a820491505090505b600063020000008416600f0b13156142725760807001000000000162e42fefa494f1478fde058202908060020a820491505090505b600063010000008416600f0b13156142a757608070010000000000b17217f7d20cf927c8e94c8202908060020a820491505090505b6000628000008416600f0b13156142db5760807001000000000058b90bfbe8f71cb4e4b33d8202908060020a820491505090505b6000624000008416600f0b131561430f576080700100000000002c5c85fdf477b662b269458202908060020a820491505090505b6000622000008416600f0b131561434357608070010000000000162e42fefa3ae53369388c8202908060020a820491505090505b6000621000008416600f0b1315614377576080700100000000000b17217f7d1d351a389d408202908060020a820491505090505b6000620800008416600f0b13156143ab57608070010000000000058b90bfbe8e8b2d3d4ede8202908060020a820491505090505b6000620400008416600f0b13156143df5760807001000000000002c5c85fdf4741bea6e77e8202908060020a820491505090505b6000620200008416600f0b1315614413576080700100000000000162e42fefa39fe95583c28202908060020a820491505090505b6000620100008416600f0b13156144475760807001000000000000b17217f7d1cfb72b45e18202908060020a820491505090505b60006180008416600f0b131561447a576080700100000000000058b90bfbe8e7cc35c3f08202908060020a820491505090505b60006140008416600f0b13156144ad57608070010000000000002c5c85fdf473e242ea388202908060020a820491505090505b60006120008416600f0b13156144e05760807001000000000000162e42fefa39f02b772c8202908060020a820491505090505b60006110008416600f0b131561451357608070010000000000000b17217f7d1cf7d83c1a8202908060020a820491505090505b60006108008416600f0b13156145465760807001000000000000058b90bfbe8e7bdcbe2e8202908060020a820491505090505b60006104008416600f0b1315614579576080700100000000000002c5c85fdf473dea871f8202908060020a820491505090505b60006102008416600f0b13156145ac57608070010000000000000162e42fefa39ef44d918202908060020a820491505090505b60006101008416600f0b13156145df576080700100000000000000b17217f7d1cf79e9498202908060020a820491505090505b600060808416600f0b131561461157608070010000000000000058b90bfbe8e7bce5448202908060020a820491505090505b600060408416600f0b13156146435760807001000000000000002c5c85fdf473de6eca8202908060020a820491505090505b600060208416600f0b1315614675576080700100000000000000162e42fefa39ef366f8202908060020a820491505090505b600060108416600f0b13156146a75760807001000000000000000b17217f7d1cf79afa8202908060020a820491505090505b600060088416600f0b13156146d9576080700100000000000000058b90bfbe8e7bcd6d8202908060020a820491505090505b600060048416600f0b131561470b57608070010000000000000002c5c85fdf473de6b28202908060020a820491505090505b600060028416600f0b131561473d5760807001000000000000000162e42fefa39ef3588202908060020a820491505090505b600060018416600f0b131561476f57608070010000000000000000b17217f7d1cf79ab8202908060020a820491505090505b604083600f0b9060008212600003808260020a828518041892505050603f03600f0b81908060020a820491505090506f7fffffffffffffffffffffffffffffff600f0b8111156147be57600080fd5b809150505b919050565b6040518060600160405280600063ffffffff168152602001600068ffffffffffffffffff168152602001600067ffffffffffffffff1681525090565b6000604051905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061483e82614813565b9050919050565b61484e81614833565b811461485957600080fd5b50565b60008135905061486b81614845565b92915050565b6000602082840312156148875761488661480e565b5b60006148958482850161485c565b91505092915050565b6000819050919050565b6148b18161489e565b82525050565b60006020820190506148cc60008301846148a8565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b614907816148d2565b811461491257600080fd5b50565b600081359050614924816148fe565b92915050565b6000602082840312156149405761493f61480e565b5b600061494e84828501614915565b91505092915050565b60008115159050919050565b61496c81614957565b82525050565b60006020820190506149876000830184614963565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156149c75780820151818401526020810190506149ac565b60008484015250505050565b6000601f19601f8301169050919050565b60006149ef8261498d565b6149f98185614998565b9350614a098185602086016149a9565b614a12816149d3565b840191505092915050565b60006020820190508181036000830152614a3781846149e4565b905092915050565b614a488161489e565b8114614a5357600080fd5b50565b600081359050614a6581614a3f565b92915050565b60008060408385031215614a8257614a8161480e565b5b6000614a908582860161485c565b9250506020614aa185828601614a56565b9150509250929050565b600081600f0b9050919050565b614ac181614aab565b82525050565b6000602082019050614adc6000830184614ab8565b92915050565b614aeb81614aab565b8114614af657600080fd5b50565b600081359050614b0881614ae2565b92915050565b60008060408385031215614b2557614b2461480e565b5b6000614b3385828601614a56565b9250506020614b4485828601614af9565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b614b8b826149d3565b810181811067ffffffffffffffff82111715614baa57614ba9614b53565b5b80604052505050565b6000614bbd614804565b9050614bc98282614b82565b919050565b600063ffffffff82169050919050565b614be781614bce565b8114614bf257600080fd5b50565b600081359050614c0481614bde565b92915050565b600068ffffffffffffffffff82169050919050565b614c2881614c0a565b8114614c3357600080fd5b50565b600081359050614c4581614c1f565b92915050565b600067ffffffffffffffff82169050919050565b614c6881614c4b565b8114614c7357600080fd5b50565b600081359050614c8581614c5f565b92915050565b600060608284031215614ca157614ca0614b4e565b5b614cab6060614bb3565b90506000614cbb84828501614bf5565b6000830152506020614ccf84828501614c36565b6020830152506040614ce384828501614c76565b60408301525092915050565b600060608284031215614d0557614d0461480e565b5b6000614d1384828501614c8b565b91505092915050565b600080600060608486031215614d3557614d3461480e565b5b6000614d438682870161485c565b9350506020614d548682870161485c565b9250506040614d6586828701614a56565b9150509250925092565b600060208284031215614d8557614d8461480e565b5b6000614d9384828501614a56565b91505092915050565b60008060408385031215614db357614db261480e565b5b6000614dc185828601614a56565b9250506020614dd285828601614a56565b9150509250929050565b614de581614bce565b82525050565b614df481614c0a565b82525050565b614e0381614c4b565b82525050565b6000606082019050614e1e6000830186614ddc565b614e2b6020830185614deb565b614e386040830184614dfa565b949350505050565b600060ff82169050919050565b614e5681614e40565b82525050565b6000602082019050614e716000830184614e4d565b92915050565b614e8081614833565b82525050565b6000602082019050614e9b6000830184614e77565b92915050565b60008060008060808587031215614ebb57614eba61480e565b5b6000614ec987828801614a56565b9450506020614eda87828801614af9565b9350506040614eeb87828801614a56565b9250506060614efc87828801614a56565b91505092959194509250565b614f1181614bce565b82525050565b614f2081614c0a565b82525050565b614f2f81614c4b565b82525050565b606082016000820151614f4b6000850182614f08565b506020820151614f5e6020850182614f17565b506040820151614f716040850182614f26565b50505050565b6000606082019050614f8c6000830184614f35565b92915050565b60006fffffffffffffffffffffffffffffffff82169050919050565b614fb781614f92565b82525050565b6000602082019050614fd26000830184614fae565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006150128261489e565b915061501d8361489e565b925082820190508082111561503557615034614fd8565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061508257607f821691505b6020821081036150955761509461503b565b5b50919050565b7f4558504952454400000000000000000000000000000000000000000000000000600082015250565b60006150d1600783614998565b91506150dc8261509b565b602082019050919050565b60006020820190508181036000830152615100816150c4565b9050919050565b7f5a45524f5f464952535400000000000000000000000000000000000000000000600082015250565b600061513d600a83614998565b915061514882615107565b602082019050919050565b6000602082019050818103600083015261516c81615130565b9050919050565b600061517e8261489e565b91506151898361489e565b92508282039050818111156151a1576151a0614fd8565b5b92915050565b7f4552525f41434345535300000000000000000000000000000000000000000000600082015250565b60006151dd600a83614998565b91506151e8826151a7565b602082019050919050565b6000602082019050818103600083015261520c816151d0565b9050919050565b600061521e8261489e565b91506152298361489e565b92508282026152378161489e565b9150828204841483151761524e5761524d614fd8565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061528f8261489e565b915061529a8361489e565b9250826152aa576152a9615255565b5b828204905092915050565b7f4552525f494e56414c49445f5354415445000000000000000000000000000000600082015250565b60006152eb601183614998565b91506152f6826152b5565b602082019050919050565b6000602082019050818103600083015261531a816152de565b9050919050565b7f4552525f414c52454144595f4c4f434b45440000000000000000000000000000600082015250565b6000615357601283614998565b915061536282615321565b602082019050919050565b600060208201905081810360008301526153868161534a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552525f4f5645525350454e4400000000000000000000000000000000000000600082015250565b60006153f2600d83614998565b91506153fd826153bc565b602082019050919050565b60006020820190508181036000830152615421816153e5565b9050919050565b61543181614f92565b811461543c57600080fd5b50565b60008151905061544e81615428565b92915050565b60006020828403121561546a5761546961480e565b5b60006154788482850161543f565b9150509291505056fea2646970667358221220b6ab446997d21e5b6e84b6c705c209cf53b5182ff5f6fe4b79f80236d00e874d64736f6c63430008120033 +\ No newline at end of file