60c06040526a084595161401484a000000600955692a5a058fc295ed000000600a55692a5a058fc295ed000000600b5569152d02c7e14af6800000600c556000600d60006101000a81548160ff0219169083151502179055506000600d60016101000a81548160ff0219169083151502179055506014600e556023600f5560026011553480156200008f57600080fd5b506040518060400160405280600a81526020017f50657065506f7461746f000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f504550455000000000000000000000000000000000000000000000000000000081525081600390816200010d919062000d22565b5080600490816200011f919062000d22565b5050506200014262000136620005e160201b60201c565b620005e960201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250506200019f6080516001620006af60201b60201c565b60805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000213919062000e73565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200027d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a3919062000e73565b6040518363ffffffff1660e01b8152600401620002c292919062000eb6565b6020604051808303816000875af1158015620002e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000308919062000e73565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200035060a0516001620006af60201b60201c565b6200036560a05160016200071a60201b60201c565b62000375620005e160201b60201c565b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073dea1feebc7d016c3942380bfc9600558f5ad1ba7600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c9310e47a85e4dd7d445068d4b1713e07b17c887600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200048162000473620007bb60201b60201c565b6001620007e560201b60201c565b62000494306001620007e560201b60201c565b620004a961dead6001620007e560201b60201c565b620004de600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620007e560201b60201c565b62000513600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620007e560201b60201c565b6200053562000527620007bb60201b60201c565b6001620006af60201b60201c565b62000548306001620006af60201b60201c565b6200055d61dead6001620006af60201b60201c565b62000592600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620006af60201b60201c565b620005c7600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620006af60201b60201c565b620005db33600954620008a060201b60201c565b620010aa565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620006bf62000a0d60201b60201c565b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620007f562000a0d60201b60201c565b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405162000894919062000f00565b60405180910390a25050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000912576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009099062000f7e565b60405180910390fd5b620009266000838362000a9e60201b60201c565b80600260008282546200093a919062000fcf565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620009ed91906200101b565b60405180910390a362000a096000838362000aa360201b60201c565b5050565b62000a1d620005e160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1662000a43620007bb60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000a9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a939062001088565b60405180910390fd5b565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000b2a57607f821691505b60208210810362000b405762000b3f62000ae2565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000baa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000b6b565b62000bb6868362000b6b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000c0362000bfd62000bf78462000bce565b62000bd8565b62000bce565b9050919050565b6000819050919050565b62000c1f8362000be2565b62000c3762000c2e8262000c0a565b84845462000b78565b825550505050565b600090565b62000c4e62000c3f565b62000c5b81848462000c14565b505050565b5b8181101562000c835762000c7760008262000c44565b60018101905062000c61565b5050565b601f82111562000cd25762000c9c8162000b46565b62000ca78462000b5b565b8101602085101562000cb7578190505b62000ccf62000cc68562000b5b565b83018262000c60565b50505b505050565b600082821c905092915050565b600062000cf76000198460080262000cd7565b1980831691505092915050565b600062000d12838362000ce4565b9150826002028217905092915050565b62000d2d8262000aa8565b67ffffffffffffffff81111562000d495762000d4862000ab3565b5b62000d55825462000b11565b62000d6282828562000c87565b600060209050601f83116001811462000d9a576000841562000d85578287015190505b62000d91858262000d04565b86555062000e01565b601f19841662000daa8662000b46565b60005b8281101562000dd45784890151825560018201915060208501945060208101905062000dad565b8683101562000df4578489015162000df0601f89168262000ce4565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000e3b8262000e0e565b9050919050565b62000e4d8162000e2e565b811462000e5957600080fd5b50565b60008151905062000e6d8162000e42565b92915050565b60006020828403121562000e8c5762000e8b62000e09565b5b600062000e9c8482850162000e5c565b91505092915050565b62000eb08162000e2e565b82525050565b600060408201905062000ecd600083018562000ea5565b62000edc602083018462000ea5565b9392505050565b60008115159050919050565b62000efa8162000ee3565b82525050565b600060208201905062000f17600083018462000eef565b92915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000f66601f8362000f1d565b915062000f738262000f2e565b602082019050919050565b6000602082019050818103600083015262000f998162000f57565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000fdc8262000bce565b915062000fe98362000bce565b925082820190508082111562001004576200100362000fa0565b5b92915050565b620010158162000bce565b82525050565b60006020820190506200103260008301846200100a565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006200107060208362000f1d565b91506200107d8262001038565b602082019050919050565b60006020820190508181036000830152620010a38162001061565b9050919050565b60805160a051613daf6200110860003960008181610ae501528181610d8a01526111a3015260008181610b5f01528181610ff801528181611021015281816111df015281816128410152818161292201526129490152613daf6000f3fe6080604052600436106102295760003560e01c8063715018a611610123578063afa4f3b2116100ab578063e2f456051161006f578063e2f45605146107f6578063e303e66214610821578063f2fde38b1461084a578063f8b45b0514610873578063ffb54a991461089e57610230565b8063afa4f3b214610725578063c02466681461074e578063c8c8ebe414610777578063c9567bf9146107a2578063dd62ed3e146107b957610230565b80638da5cb5b116100f25780638da5cb5b1461062c57806395d89b41146106575780639a7a23d614610682578063a457c2d7146106ab578063a9059cbb146106e857610230565b8063715018a6146105aa578063751039fc146105c15780637571336a146105d857806375f0a8741461060157610230565b806327c8f835116101b15780634fbee193116101755780634fbee193146104af578063583e0568146104ec5780635d60c7be146105175780636ddd17131461054257806370a082311461056d57610230565b806327c8f835146103c6578063311028af146103f1578063313ce5671461041c578063395093511461044757806349bd5a5e1461048457610230565b8063185870f9116101f8578063185870f9146102f15780631b9152bf1461031c5780631f3fed8f14610333578063231b02681461035e57806323b872dd1461038957610230565b806306fdde0314610235578063095ea7b3146102605780630b78f9c01461029d57806318160ddd146102c657610230565b3661023057005b600080fd5b34801561024157600080fd5b5061024a6108c9565b6040516102579190612a85565b60405180910390f35b34801561026c57600080fd5b5061028760048036038101906102829190612b40565b61095b565b6040516102949190612b9b565b60405180910390f35b3480156102a957600080fd5b506102c460048036038101906102bf9190612bb6565b61097e565b005b3480156102d257600080fd5b506102db610998565b6040516102e89190612c05565b60405180910390f35b3480156102fd57600080fd5b506103066109a2565b6040516103139190612c2f565b60405180910390f35b34801561032857600080fd5b506103316109c8565b005b34801561033f57600080fd5b50610348610a5c565b6040516103559190612c05565b60405180910390f35b34801561036a57600080fd5b50610373610a62565b6040516103809190612c05565b60405180910390f35b34801561039557600080fd5b506103b060048036038101906103ab9190612c4a565b610a68565b6040516103bd9190612b9b565b60405180910390f35b3480156103d257600080fd5b506103db610a97565b6040516103e89190612c2f565b60405180910390f35b3480156103fd57600080fd5b50610406610a9d565b6040516104139190612c05565b60405180910390f35b34801561042857600080fd5b50610431610aa3565b60405161043e9190612cb9565b60405180910390f35b34801561045357600080fd5b5061046e60048036038101906104699190612b40565b610aac565b60405161047b9190612b9b565b60405180910390f35b34801561049057600080fd5b50610499610ae3565b6040516104a69190612c2f565b60405180910390f35b3480156104bb57600080fd5b506104d660048036038101906104d19190612cd4565b610b07565b6040516104e39190612b9b565b60405180910390f35b3480156104f857600080fd5b50610501610b5d565b60405161050e9190612d60565b60405180910390f35b34801561052357600080fd5b5061052c610b81565b6040516105399190612c2f565b60405180910390f35b34801561054e57600080fd5b50610557610ba7565b6040516105649190612b9b565b60405180910390f35b34801561057957600080fd5b50610594600480360381019061058f9190612cd4565b610bba565b6040516105a19190612c05565b60405180910390f35b3480156105b657600080fd5b506105bf610c02565b005b3480156105cd57600080fd5b506105d6610c16565b005b3480156105e457600080fd5b506105ff60048036038101906105fa9190612da7565b610c3b565b005b34801561060d57600080fd5b50610616610c9e565b6040516106239190612c2f565b60405180910390f35b34801561063857600080fd5b50610641610cc4565b60405161064e9190612c2f565b60405180910390f35b34801561066357600080fd5b5061066c610cee565b6040516106799190612a85565b60405180910390f35b34801561068e57600080fd5b506106a960048036038101906106a49190612da7565b610d80565b005b3480156106b757600080fd5b506106d260048036038101906106cd9190612b40565b610e24565b6040516106df9190612b9b565b60405180910390f35b3480156106f457600080fd5b5061070f600480360381019061070a9190612b40565b610e9b565b60405161071c9190612b9b565b60405180910390f35b34801561073157600080fd5b5061074c60048036038101906107479190612de7565b610ebe565b005b34801561075a57600080fd5b5061077560048036038101906107709190612da7565b610ee3565b005b34801561078357600080fd5b5061078c610f94565b6040516107999190612c05565b60405180910390f35b3480156107ae57600080fd5b506107b7610f9a565b005b3480156107c557600080fd5b506107e060048036038101906107db9190612e14565b6112bf565b6040516107ed9190612c05565b60405180910390f35b34801561080257600080fd5b5061080b611346565b6040516108189190612c05565b60405180910390f35b34801561082d57600080fd5b5061084860048036038101906108439190612cd4565b61134c565b005b34801561085657600080fd5b50610871600480360381019061086c9190612cd4565b611506565b005b34801561087f57600080fd5b50610888611589565b6040516108959190612c05565b60405180910390f35b3480156108aa57600080fd5b506108b361158f565b6040516108c09190612b9b565b60405180910390f35b6060600380546108d890612e83565b80601f016020809104026020016040519081016040528092919081815260200182805461090490612e83565b80156109515780601f1061092657610100808354040283529160200191610951565b820191906000526020600020905b81548152906001019060200180831161093457829003601f168201915b5050505050905090565b6000806109666115a2565b90506109738185856115aa565b600191505092915050565b610986611773565b81600e8190555080600f819055505050565b6000600254905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109d0611773565b60004711610a13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0a90612f00565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610a59573d6000803e3d6000fd5b50565b60125481565b60105481565b600080610a736115a2565b9050610a808582856117f1565b610a8b85858561187d565b60019150509392505050565b61dead81565b60095481565b60006012905090565b600080610ab76115a2565b9050610ad8818585610ac985896112bf565b610ad39190612f4f565b6115aa565b600191505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d60019054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610c0a611773565b610c1460006121a9565b565b610c1e611773565b6000610c28610998565b905080600a8190555080600b8190555050565b610c43611773565b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610cfd90612e83565b80601f0160208091040260200160405190810160405280929190818152602001828054610d2990612e83565b8015610d765780601f10610d4b57610100808354040283529160200191610d76565b820191906000526020600020905b815481529060010190602001808311610d5957829003601f168201915b5050505050905090565b610d88611773565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0d90612ff5565b60405180910390fd5b610e20828261226f565b5050565b600080610e2f6115a2565b90506000610e3d82866112bf565b905083811015610e82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7990613087565b60405180910390fd5b610e8f82868684036115aa565b60019250505092915050565b600080610ea66115a2565b9050610eb381858561187d565b600191505092915050565b610ec6611773565b670de0b6b3a764000081610eda91906130a7565b600c8190555050565b610eeb611773565b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051610f889190612b9b565b60405180910390a25050565b600a5481565b610fa2611773565b600d60009054906101000a900460ff1615610ff2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe990613135565b60405180910390fd5b61101f307f00000000000000000000000000000000000000000000000000000000000000006009546115aa565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d7194730611079604661106b30610bba565b61231090919063ffffffff16565b600080611084610cc4565b426040518863ffffffff1660e01b81526004016110a696959493929190613190565b60606040518083038185885af11580156110c4573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110e99190613206565b5050503073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611140600c805461237690919063ffffffff16565b6040518363ffffffff1660e01b815260040161115d929190613259565b6020604051808303816000875af115801561117c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a09190613297565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161123c929190613259565b6020604051808303816000875af115801561125b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127f9190613297565b50436010819055506001600d60016101000a81548160ff0219169083151502179055506001600d60006101000a81548160ff021916908315150217905550565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c5481565b611354611773565b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b990613336565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016113fd9190612c2f565b602060405180830381865afa15801561141a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143e9190613356565b905060008111611483576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147a906133f5565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016114be929190613259565b6020604051808303816000875af11580156114dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115019190613297565b505050565b61150e611773565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361157d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157490613487565b60405180910390fd5b611586816121a9565b50565b600b5481565b600d60009054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611619576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161090613519565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611688576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167f906135ab565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117669190612c05565b60405180910390a3505050565b61177b6115a2565b73ffffffffffffffffffffffffffffffffffffffff16611799610cc4565b73ffffffffffffffffffffffffffffffffffffffff16146117ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e690613617565b60405180910390fd5b565b60006117fd84846112bf565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146118775781811015611869576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186090613683565b60405180910390fd5b61187684848484036115aa565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e390613715565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361195b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611952906137a7565b60405180910390fd5b600081036119745761196f8383600061238c565b6121a4565b61197c610cc4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119ea57506119ba610cc4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a235750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a5d575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a765750600860149054906101000a900460ff16155b15611e5957600d60009054906101000a900460ff16611b7057601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611b305750601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611b6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6690613813565b60405180910390fd5b5b601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611c135750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611cba57600a54811115611c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c54906138a5565b60405180910390fd5b600b54611c6983610bba565b82611c749190612f4f565b1115611cb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cac90613911565b60405180910390fd5b611e58565b601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611d5d5750601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611dac57600a54811115611da7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9e906139a3565b60405180910390fd5b611e57565b601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611e5657600b54611e0983610bba565b82611e149190612f4f565b1115611e55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4c90613911565b60405180910390fd5b5b5b5b5b6000611e6430610bba565b90506000600c548210158015611e88575043601154601054611e869190612f4f565b105b9050808015611ea35750600d60019054906101000a900460ff165b8015611ebc5750600860149054906101000a900460ff16155b8015611f125750601560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f685750601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611fbe5750601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612002576001600860146101000a81548160ff021916908315150217905550611fe6612602565b6000600860146101000a81548160ff0219169083151502179055505b6000600860149054906101000a900460ff16159050601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806120b85750601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156120c257600090505b60008115612194576000601560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561212857600f54905061212e565b600e5490505b6121546064612146838961237690919063ffffffff16565b61278290919063ffffffff16565b915081601260008282546121689190612f4f565b9250508190555060008211156121845761218388308461238c565b5b818661219091906139c3565b9550505b61219f87878761238c565b505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b60006064821115612356576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234d90613a69565b60405180910390fd5b6064828461236491906130a7565b61236e9190613ab8565b905092915050565b6000818361238491906130a7565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036123fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123f290613715565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361246a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612461906137a7565b60405180910390fd5b612475838383612798565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156124fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f290613b5b565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125e99190612c05565b60405180910390a36125fc84848461279d565b50505050565b600061260d30610bba565b90506000601254905060008060008414806126285750600083145b156126365750505050612780565b600860159054906101000a900460ff1661267b576005600c5461265991906130a7565b91506001600860156101000a81548160ff021916908315150217905550612692565b600c5484101561268b578361268f565b600c545b91505b60004790506126a0836127a2565b60006126b582476129df90919063ffffffff16565b905060006126e0866126d26012548561237690919063ffffffff16565b61278290919063ffffffff16565b90506000601281905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168160405161273090613bac565b60006040518083038185875af1925050503d806000811461276d576040519150601f19603f3d011682016040523d82523d6000602084013e612772565b606091505b505080945050505050505050505b565b600081836127909190613ab8565b905092915050565b505050565b505050565b6000600267ffffffffffffffff8111156127bf576127be613bc1565b5b6040519080825280602002602001820160405280156127ed5781602001602082028036833780820191505090505b509050308160008151811061280557612804613bf0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128ce9190613c34565b816001815181106128e2576128e1613bf0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612947307f0000000000000000000000000000000000000000000000000000000000000000846115aa565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016129a9959493929190613d1f565b600060405180830381600087803b1580156129c357600080fd5b505af11580156129d7573d6000803e3d6000fd5b505050505050565b600081836129ed91906139c3565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a2f578082015181840152602081019050612a14565b60008484015250505050565b6000601f19601f8301169050919050565b6000612a57826129f5565b612a618185612a00565b9350612a71818560208601612a11565b612a7a81612a3b565b840191505092915050565b60006020820190508181036000830152612a9f8184612a4c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ad782612aac565b9050919050565b612ae781612acc565b8114612af257600080fd5b50565b600081359050612b0481612ade565b92915050565b6000819050919050565b612b1d81612b0a565b8114612b2857600080fd5b50565b600081359050612b3a81612b14565b92915050565b60008060408385031215612b5757612b56612aa7565b5b6000612b6585828601612af5565b9250506020612b7685828601612b2b565b9150509250929050565b60008115159050919050565b612b9581612b80565b82525050565b6000602082019050612bb06000830184612b8c565b92915050565b60008060408385031215612bcd57612bcc612aa7565b5b6000612bdb85828601612b2b565b9250506020612bec85828601612b2b565b9150509250929050565b612bff81612b0a565b82525050565b6000602082019050612c1a6000830184612bf6565b92915050565b612c2981612acc565b82525050565b6000602082019050612c446000830184612c20565b92915050565b600080600060608486031215612c6357612c62612aa7565b5b6000612c7186828701612af5565b9350506020612c8286828701612af5565b9250506040612c9386828701612b2b565b9150509250925092565b600060ff82169050919050565b612cb381612c9d565b82525050565b6000602082019050612cce6000830184612caa565b92915050565b600060208284031215612cea57612ce9612aa7565b5b6000612cf884828501612af5565b91505092915050565b6000819050919050565b6000612d26612d21612d1c84612aac565b612d01565b612aac565b9050919050565b6000612d3882612d0b565b9050919050565b6000612d4a82612d2d565b9050919050565b612d5a81612d3f565b82525050565b6000602082019050612d756000830184612d51565b92915050565b612d8481612b80565b8114612d8f57600080fd5b50565b600081359050612da181612d7b565b92915050565b60008060408385031215612dbe57612dbd612aa7565b5b6000612dcc85828601612af5565b9250506020612ddd85828601612d92565b9150509250929050565b600060208284031215612dfd57612dfc612aa7565b5b6000612e0b84828501612b2b565b91505092915050565b60008060408385031215612e2b57612e2a612aa7565b5b6000612e3985828601612af5565b9250506020612e4a85828601612af5565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612e9b57607f821691505b602082108103612eae57612ead612e54565b5b50919050565b7f546f6b656e3a206e6f2065746820746f20636c65617200000000000000000000600082015250565b6000612eea601683612a00565b9150612ef582612eb4565b602082019050919050565b60006020820190508181036000830152612f1981612edd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612f5a82612b0a565b9150612f6583612b0a565b9250828201905080821115612f7d57612f7c612f20565b5b92915050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b6000612fdf603983612a00565b9150612fea82612f83565b604082019050919050565b6000602082019050818103600083015261300e81612fd2565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613071602583612a00565b915061307c82613015565b604082019050919050565b600060208201905081810360008301526130a081613064565b9050919050565b60006130b282612b0a565b91506130bd83612b0a565b92508282026130cb81612b0a565b915082820484148315176130e2576130e1612f20565b5b5092915050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b600061311f601783612a00565b915061312a826130e9565b602082019050919050565b6000602082019050818103600083015261314e81613112565b9050919050565b6000819050919050565b600061317a61317561317084613155565b612d01565b612b0a565b9050919050565b61318a8161315f565b82525050565b600060c0820190506131a56000830189612c20565b6131b26020830188612bf6565b6131bf6040830187613181565b6131cc6060830186613181565b6131d96080830185612c20565b6131e660a0830184612bf6565b979650505050505050565b60008151905061320081612b14565b92915050565b60008060006060848603121561321f5761321e612aa7565b5b600061322d868287016131f1565b935050602061323e868287016131f1565b925050604061324f868287016131f1565b9150509250925092565b600060408201905061326e6000830185612c20565b61327b6020830184612bf6565b9392505050565b60008151905061329181612d7b565b92915050565b6000602082840312156132ad576132ac612aa7565b5b60006132bb84828501613282565b91505092915050565b7f546f6b656e3a2063616e277420636c65617220636f6e747261637420746f6b6560008201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b6000613320602183612a00565b915061332b826132c4565b604082019050919050565b6000602082019050818103600083015261334f81613313565b9050919050565b60006020828403121561336c5761336b612aa7565b5b600061337a848285016131f1565b91505092915050565b7f546f6b656e3a206e6f7420656e6f75676820746f6b656e7320746f20636c656160008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006133df602183612a00565b91506133ea82613383565b604082019050919050565b6000602082019050818103600083015261340e816133d2565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613471602683612a00565b915061347c82613415565b604082019050919050565b600060208201905081810360008301526134a081613464565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613503602483612a00565b915061350e826134a7565b604082019050919050565b60006020820190508181036000830152613532816134f6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613595602283612a00565b91506135a082613539565b604082019050919050565b600060208201905081810360008301526135c481613588565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613601602083612a00565b915061360c826135cb565b602082019050919050565b60006020820190508181036000830152613630816135f4565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061366d601d83612a00565b915061367882613637565b602082019050919050565b6000602082019050818103600083015261369c81613660565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006136ff602583612a00565b915061370a826136a3565b604082019050919050565b6000602082019050818103600083015261372e816136f2565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613791602383612a00565b915061379c82613735565b604082019050919050565b600060208201905081810360008301526137c081613784565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b60006137fd601683612a00565b9150613808826137c7565b602082019050919050565b6000602082019050818103600083015261382c816137f0565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b600061388f603583612a00565b915061389a82613833565b604082019050919050565b600060208201905081810360008301526138be81613882565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b60006138fb601383612a00565b9150613906826138c5565b602082019050919050565b6000602082019050818103600083015261392a816138ee565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b600061398d603683612a00565b915061399882613931565b604082019050919050565b600060208201905081810360008301526139bc81613980565b9050919050565b60006139ce82612b0a565b91506139d983612b0a565b92508282039050818111156139f1576139f0612f20565b5b92915050565b7f50657263656e74616765206d757374206265206265747765656e203020616e6460008201527f2031303000000000000000000000000000000000000000000000000000000000602082015250565b6000613a53602483612a00565b9150613a5e826139f7565b604082019050919050565b60006020820190508181036000830152613a8281613a46565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613ac382612b0a565b9150613ace83612b0a565b925082613ade57613add613a89565b5b828204905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613b45602683612a00565b9150613b5082613ae9565b604082019050919050565b60006020820190508181036000830152613b7481613b38565b9050919050565b600081905092915050565b50565b6000613b96600083613b7b565b9150613ba182613b86565b600082019050919050565b6000613bb782613b89565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613c2e81612ade565b92915050565b600060208284031215613c4a57613c49612aa7565b5b6000613c5884828501613c1f565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613c9681612acc565b82525050565b6000613ca88383613c8d565b60208301905092915050565b6000602082019050919050565b6000613ccc82613c61565b613cd68185613c6c565b9350613ce183613c7d565b8060005b83811015613d12578151613cf98882613c9c565b9750613d0483613cb4565b925050600181019050613ce5565b5085935050505092915050565b600060a082019050613d346000830188612bf6565b613d416020830187613181565b8181036040830152613d538186613cc1565b9050613d626060830185612c20565b613d6f6080830184612bf6565b969550505050505056fea2646970667358221220525e4029b908e5b57a4b498368aa0f1609db1409a7ffb7f1664850f0e7cc703d64736f6c63430008130033