60806040526001600660006101000a81548160ff0219169083151502179055506001600660016101000a81548160ff0219169083151502179055506c327cb2734119d3b7a9000000006007556c10a92668980b153a0c400000006008553480156200006957600080fd5b506040518060400160405280600481526020017f544f4144000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f544f414400000000000000000000000000000000000000000000000000000000815250620000f6620000ea6200014260201b60201c565b6200014a60201b60201c565b816004908162000107919062000cb7565b50806005908162000119919062000cb7565b5050506200013c336d13b8b5b5056e16b3be04000000006200020e60201b60201c565b62001211565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000280576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002779062000dff565b60405180910390fd5b62000294600083836200038860201b60201c565b508060036000828254620002a9919062000e50565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000301919062000e50565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000368919062000e9c565b60405180910390a362000384600083836200085160201b60201c565b5050565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156200042f5750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b62000471576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004689062000f09565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036200058f57620004d86200085660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806200054c57506200051d6200085660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b6200058e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005859062000f7b565b60405180910390fd5b5b600660009054906101000a900460ff168015620005f65750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015620006515750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015620006995750620006696200085660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015620006e15750620006b16200085660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156200079a576007548262000701856200087f60201b620009461760201c565b6200070d919062000e50565b111562000751576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007489062001013565b60405180910390fd5b60085482111562000799576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200079090620010ab565b60405180910390fd5b5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015620008045750600660019054906101000a900460ff165b156200084757600062000827600484620008c860201b620010741790919060201c565b90506200084381846200091a60201b620010be1790919060201c565b9250505b8190509392505050565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006200091283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200096c60201b60201c565b905092915050565b60006200096483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250620009d460201b60201c565b905092915050565b60008083118290620009b6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009ad91906200114b565b60405180910390fd5b5060008385620009c791906200119e565b9050809150509392505050565b600083831115829062000a1f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a1691906200114b565b60405180910390fd5b506000838562000a309190620011d6565b9050809150509392505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000abf57607f821691505b60208210810362000ad55762000ad462000a77565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000b3f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000b00565b62000b4b868362000b00565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000b9862000b9262000b8c8462000b63565b62000b6d565b62000b63565b9050919050565b6000819050919050565b62000bb48362000b77565b62000bcc62000bc38262000b9f565b84845462000b0d565b825550505050565b600090565b62000be362000bd4565b62000bf081848462000ba9565b505050565b5b8181101562000c185762000c0c60008262000bd9565b60018101905062000bf6565b5050565b601f82111562000c675762000c318162000adb565b62000c3c8462000af0565b8101602085101562000c4c578190505b62000c6462000c5b8562000af0565b83018262000bf5565b50505b505050565b600082821c905092915050565b600062000c8c6000198460080262000c6c565b1980831691505092915050565b600062000ca7838362000c79565b9150826002028217905092915050565b62000cc28262000a3d565b67ffffffffffffffff81111562000cde5762000cdd62000a48565b5b62000cea825462000aa6565b62000cf782828562000c1c565b600060209050601f83116001811462000d2f576000841562000d1a578287015190505b62000d26858262000c99565b86555062000d96565b601f19841662000d3f8662000adb565b60005b8281101562000d695784890151825560018201915060208501945060208101905062000d42565b8683101562000d89578489015162000d85601f89168262000c79565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000de7601f8362000d9e565b915062000df48262000daf565b602082019050919050565b6000602082019050818103600083015262000e1a8162000dd8565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000e5d8262000b63565b915062000e6a8362000b63565b925082820190508082111562000e855762000e8462000e21565b5b92915050565b62000e968162000b63565b82525050565b600060208201905062000eb3600083018462000e8b565b92915050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b600062000ef1600b8362000d9e565b915062000efe8262000eb9565b602082019050919050565b6000602082019050818103600083015262000f248162000ee2565b9050919050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b600062000f6360168362000d9e565b915062000f708262000f2b565b602082019050919050565b6000602082019050818103600083015262000f968162000f54565b9050919050565b7f457863656564732063757272656e74206d6178696d756d20616d6f756e74206160008201527f6c6c6f77656420696e20612077616c6c65740000000000000000000000000000602082015250565b600062000ffb60328362000d9e565b9150620010088262000f9d565b604082019050919050565b600060208201905081810360008301526200102e8162000fec565b9050919050565b7f457863656564732063757272656e74206d6178696d756d20616d6f756e74206160008201527f6c6c6f77656420696e2061207472616e73616374696f6e000000000000000000602082015250565b60006200109360378362000d9e565b9150620010a08262001035565b604082019050919050565b60006020820190508181036000830152620010c68162001084565b9050919050565b60005b83811015620010ed578082015181840152602081019050620010d0565b60008484015250505050565b6000601f19601f8301169050919050565b6000620011178262000a3d565b62001123818562000d9e565b935062001135818560208601620010cd565b6200114081620010f9565b840191505092915050565b600060208201905081810360008301526200116781846200110a565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620011ab8262000b63565b9150620011b88362000b63565b925082620011cb57620011ca6200116f565b5b828204905092915050565b6000620011e38262000b63565b9150620011f08362000b63565b92508282039050818111156200120b576200120a62000e21565b5b92915050565b61282a80620012216000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c80638187f516116100f9578063bd1d51d311610097578063dd62ed3e11610071578063dd62ed3e1461049c578063e0ea56d8146104cc578063e4cbe589146104fc578063f2fde38b14610518576101a9565b8063bd1d51d314610456578063bfe9876a14610474578063cf46f24c1461047e576101a9565b80638da5cb5b116100d35780638da5cb5b146103ba57806395d89b41146103d8578063a457c2d7146103f6578063a9059cbb14610426576101a9565b80638187f51614610362578063860a32ec1461037e57806389f9a1d31461039c576101a9565b806339509351116101665780634f97b70d116101405780634f97b70d1461030257806370a082311461031e578063715018a61461034e5780637e82d36c14610358576101a9565b80633950935114610298578063404e5129146102c857806349bd5a5e146102e4576101a9565b806306fdde03146101ae578063095ea7b3146101cc57806316c02129146101fc57806318160ddd1461022c57806323b872dd1461024a578063313ce5671461027a575b600080fd5b6101b6610534565b6040516101c39190611c7d565b60405180910390f35b6101e660048036038101906101e19190611d38565b6105c6565b6040516101f39190611d93565b60405180910390f35b61021660048036038101906102119190611dae565b6105e4565b6040516102239190611d93565b60405180910390f35b610234610604565b6040516102419190611dea565b60405180910390f35b610264600480360381019061025f9190611e05565b61060e565b6040516102719190611d93565b60405180910390f35b610282610706565b60405161028f9190611e74565b60405180910390f35b6102b260048036038101906102ad9190611d38565b61070f565b6040516102bf9190611d93565b60405180910390f35b6102e260048036038101906102dd9190611ebb565b6107bb565b005b6102ec610892565b6040516102f99190611f0a565b60405180910390f35b61031c60048036038101906103179190611f25565b6108b8565b005b61033860048036038101906103339190611dae565b610946565b6040516103459190611dea565b60405180910390f35b61035661098f565b005b610360610a17565b005b61037c60048036038101906103779190611dae565b610ab0565b005b610386610b70565b6040516103939190611d93565b60405180910390f35b6103a4610b83565b6040516103b19190611dea565b60405180910390f35b6103c2610b89565b6040516103cf9190611f0a565b60405180910390f35b6103e0610bb2565b6040516103ed9190611c7d565b60405180910390f35b610410600480360381019061040b9190611d38565b610c44565b60405161041d9190611d93565b60405180910390f35b610440600480360381019061043b9190611d38565b610d2f565b60405161044d9190611d93565b60405180910390f35b61045e610d4d565b60405161046b9190611d93565b60405180910390f35b61047c610d60565b005b610486610df9565b6040516104939190611dea565b60405180910390f35b6104b660048036038101906104b19190611f65565b610dff565b6040516104c39190611dea565b60405180910390f35b6104e660048036038101906104e19190611dae565b610e86565b6040516104f39190611d93565b60405180910390f35b61051660048036038101906105119190611ebb565b610ea6565b005b610532600480360381019061052d9190611dae565b610f7d565b005b60606004805461054390611fd4565b80601f016020809104026020016040519081016040528092919081815260200182805461056f90611fd4565b80156105bc5780601f10610591576101008083540402835291602001916105bc565b820191906000526020600020905b81548152906001019060200180831161059f57829003601f168201915b5050505050905090565b60006105da6105d3611108565b8484611110565b6001905092915050565b600a6020528060005260406000206000915054906101000a900460ff1681565b6000600354905090565b600061061b8484846112d9565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610666611108565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156106e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106dd90612077565b60405180910390fd5b6106fa856106f2611108565b858403611110565b60019150509392505050565b60006012905090565b60006107b161071c611108565b84846002600061072a611108565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107ac91906120c6565b611110565b6001905092915050565b6107c3611108565b73ffffffffffffffffffffffffffffffffffffffff166107e1610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082e90612146565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108c0611108565b73ffffffffffffffffffffffffffffffffffffffff166108de610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092b90612146565b60405180910390fd5b81600781905550806008819055505050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610997611108565b73ffffffffffffffffffffffffffffffffffffffff166109b5610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610a0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0290612146565b60405180910390fd5b610a1560006115e7565b565b610a1f611108565b73ffffffffffffffffffffffffffffffffffffffff16610a3d610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a90612146565b60405180910390fd5b6000600660006101000a81548160ff021916908315150217905550565b610ab8611108565b73ffffffffffffffffffffffffffffffffffffffff16610ad6610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610b2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2390612146565b60405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900460ff1681565b60075481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060058054610bc190611fd4565b80601f0160208091040260200160405190810160405280929190818152602001828054610bed90611fd4565b8015610c3a5780601f10610c0f57610100808354040283529160200191610c3a565b820191906000526020600020905b815481529060010190602001808311610c1d57829003601f168201915b5050505050905090565b60008060026000610c53611108565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610d10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d07906121d8565b60405180910390fd5b610d24610d1b611108565b85858403611110565b600191505092915050565b6000610d43610d3c611108565b84846112d9565b6001905092915050565b600660019054906101000a900460ff1681565b610d68611108565b73ffffffffffffffffffffffffffffffffffffffff16610d86610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610ddc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd390612146565b60405180910390fd5b6000600660016101000a81548160ff021916908315150217905550565b60085481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b6020528060005260406000206000915054906101000a900460ff1681565b610eae611108565b73ffffffffffffffffffffffffffffffffffffffff16610ecc610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610f22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1990612146565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610f85611108565b73ffffffffffffffffffffffffffffffffffffffff16610fa3610b89565b73ffffffffffffffffffffffffffffffffffffffff1614610ff9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff090612146565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611068576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105f9061226a565b60405180910390fd5b611071816115e7565b50565b60006110b683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116ab565b905092915050565b600061110083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061170e565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361117f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611176906122fc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e59061238e565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112cc9190611dea565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611348576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133f90612420565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ae906124b2565b60405180910390fd5b60006113c4848484611772565b90506000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561144d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144490612544565b60405180910390fd5b828103600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114e291906120c6565b9250508190555081836114f59190612564565b6001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461154591906120c6565b9250508190555081836115589190612564565b600360008282546115699190612564565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516115cd9190611dea565b60405180910390a36115e0858585611be8565b5050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080831182906116f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e99190611c7d565b60405180910390fd5b506000838561170191906125c7565b9050809150509392505050565b6000838311158290611756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174d9190611c7d565b60405180910390fd5b50600083856117659190612564565b9050809150509392505050565b6000600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156118185750600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611857576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184e90612644565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611960576118b5610b89565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061192057506118f1610b89565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b61195f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611956906126b0565b60405180910390fd5b5b600660009054906101000a900460ff1680156119c65750600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a205750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a5f5750611a2f610b89565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611a9e5750611a6e610b89565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b415760075482611ab085610946565b611aba91906120c6565b1115611afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af290612742565b60405180910390fd5b600854821115611b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b37906127d4565b60405180910390fd5b5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611baa5750600660019054906101000a900460ff165b15611bde576000611bc560048461107490919063ffffffff16565b9050611bda81846110be90919063ffffffff16565b9250505b8190509392505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611c27578082015181840152602081019050611c0c565b60008484015250505050565b6000601f19601f8301169050919050565b6000611c4f82611bed565b611c598185611bf8565b9350611c69818560208601611c09565b611c7281611c33565b840191505092915050565b60006020820190508181036000830152611c978184611c44565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ccf82611ca4565b9050919050565b611cdf81611cc4565b8114611cea57600080fd5b50565b600081359050611cfc81611cd6565b92915050565b6000819050919050565b611d1581611d02565b8114611d2057600080fd5b50565b600081359050611d3281611d0c565b92915050565b60008060408385031215611d4f57611d4e611c9f565b5b6000611d5d85828601611ced565b9250506020611d6e85828601611d23565b9150509250929050565b60008115159050919050565b611d8d81611d78565b82525050565b6000602082019050611da86000830184611d84565b92915050565b600060208284031215611dc457611dc3611c9f565b5b6000611dd284828501611ced565b91505092915050565b611de481611d02565b82525050565b6000602082019050611dff6000830184611ddb565b92915050565b600080600060608486031215611e1e57611e1d611c9f565b5b6000611e2c86828701611ced565b9350506020611e3d86828701611ced565b9250506040611e4e86828701611d23565b9150509250925092565b600060ff82169050919050565b611e6e81611e58565b82525050565b6000602082019050611e896000830184611e65565b92915050565b611e9881611d78565b8114611ea357600080fd5b50565b600081359050611eb581611e8f565b92915050565b60008060408385031215611ed257611ed1611c9f565b5b6000611ee085828601611ced565b9250506020611ef185828601611ea6565b9150509250929050565b611f0481611cc4565b82525050565b6000602082019050611f1f6000830184611efb565b92915050565b60008060408385031215611f3c57611f3b611c9f565b5b6000611f4a85828601611d23565b9250506020611f5b85828601611d23565b9150509250929050565b60008060408385031215611f7c57611f7b611c9f565b5b6000611f8a85828601611ced565b9250506020611f9b85828601611ced565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611fec57607f821691505b602082108103611fff57611ffe611fa5565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000612061602883611bf8565b915061206c82612005565b604082019050919050565b6000602082019050818103600083015261209081612054565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006120d182611d02565b91506120dc83611d02565b92508282019050808211156120f4576120f3612097565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612130602083611bf8565b915061213b826120fa565b602082019050919050565b6000602082019050818103600083015261215f81612123565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006121c2602583611bf8565b91506121cd82612166565b604082019050919050565b600060208201905081810360008301526121f1816121b5565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612254602683611bf8565b915061225f826121f8565b604082019050919050565b6000602082019050818103600083015261228381612247565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006122e6602483611bf8565b91506122f18261228a565b604082019050919050565b60006020820190508181036000830152612315816122d9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612378602283611bf8565b91506123838261231c565b604082019050919050565b600060208201905081810360008301526123a78161236b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061240a602583611bf8565b9150612415826123ae565b604082019050919050565b60006020820190508181036000830152612439816123fd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061249c602383611bf8565b91506124a782612440565b604082019050919050565b600060208201905081810360008301526124cb8161248f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061252e602683611bf8565b9150612539826124d2565b604082019050919050565b6000602082019050818103600083015261255d81612521565b9050919050565b600061256f82611d02565b915061257a83611d02565b925082820390508181111561259257612591612097565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006125d282611d02565b91506125dd83611d02565b9250826125ed576125ec612598565b5b828204905092915050565b7f426c61636b6c6973746564000000000000000000000000000000000000000000600082015250565b600061262e600b83611bf8565b9150612639826125f8565b602082019050919050565b6000602082019050818103600083015261265d81612621565b9050919050565b7f74726164696e67206973206e6f74207374617274656400000000000000000000600082015250565b600061269a601683611bf8565b91506126a582612664565b602082019050919050565b600060208201905081810360008301526126c98161268d565b9050919050565b7f457863656564732063757272656e74206d6178696d756d20616d6f756e74206160008201527f6c6c6f77656420696e20612077616c6c65740000000000000000000000000000602082015250565b600061272c603283611bf8565b9150612737826126d0565b604082019050919050565b6000602082019050818103600083015261275b8161271f565b9050919050565b7f457863656564732063757272656e74206d6178696d756d20616d6f756e74206160008201527f6c6c6f77656420696e2061207472616e73616374696f6e000000000000000000602082015250565b60006127be603783611bf8565b91506127c982612762565b604082019050919050565b600060208201905081810360008301526127ed816127b1565b905091905056fea2646970667358221220787303a07d9c1b05c7ee1ac0578f76f19436cd8d478ba1412519c1a687de0bd564736f6c63430008120033