6080604052734752ba5dbc23f44d87826276bf6fd6b1c372ad24600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200006657600080fd5b50604051620035523803806200355283398181016040528101906200008c91906200145a565b620000ac620000a062000f2f60201b60201c565b62000f3760201b60201c565b60018060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060018060003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001806000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508260079081620001e491906200176a565b508160089081620001f691906200176a565b50600180600073c24091a8c88abd9fb3f5dbf5e5d61ea681aceb9173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001806000735542a4b2bd2b03d2aa131618cbd539cd84f7d31573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073758145a1999e78065dc1e1fdbe28e707d43314c273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073af901b771c639f7635c94fc3a3c0b229cd1125f573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073e174d75b4bd828060338415bd37b7b070e62c5ea73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073796aeda689693896fa27633c31a5a99fd2dac15d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001806000734bd8ce90842be8e54b2ae84dc652ef9eaaba9df973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001806000736a20edbf1a68ae669db89ff846ca6e975c67bca773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073016b2f35472b60619f34e295cabb83b9a80f8a9c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073ec7ed685f1750ae1772048a448faa48bf351b37573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073a67bf23e0767db3adb110a88b2e0a8b2de61db5273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073733a6cc6b4dffb4ead772355fd366bb6dc6c46e673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001806000734a80f66d3c2974e134ed5c6ececbba4376bc5c4773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001806000731b069ceaaa1a57ba84311669af9e80024ccbd72a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001806000732ad118e0e8b3c2fabb0a8e49f91bedd9a80267c673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073985cf23fecfb3ff402d5e563274c17174998c50573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073d66836d7dc195fd0bdb5d61242b17ef020d037dc73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073ad41173dcd506632ec2e008ad8b17def11acc1ab73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001806000738ddb0f1949fd32e6f7ec9e54f4868c97069e8b2b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073bd670c24419ea69526e2884491faca0ea7a55d7e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073c89a2bda39bf7209a0be52b17b46aace7b69852973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001806000738f47bb230cf3dada0ec45fa028ba64b1d79456c473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073bdf9ea2738a8a9e001be7a2a51519b78bfcbf76073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073ae36b5421284d583bce77de1196f1dc8e4b1db1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073a894b36217eb2f524395c395d2689c8d4cfba53f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600180600073fd62e7532a8a03aa9105596a02deabf8920d368d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060005b815181101562000d6457600180600084848151811062000cfd5762000cfc62001851565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808060010191505062000cd8565b506000738909dc15e40173ff4699343b6eb8132c65e18ec690506000309050600073420000000000000000000000000000000000000690506000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161062000ddb57828462000dde565b83835b915091506000828260405160200162000df9929190620018d0565b604051602081830303815290604052805190602001209050858160405160200162000e26929190620019da565b6040516020818303038152906040528051906020012060001c600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001806000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000f1f33670de0b6b3a76400008c62000f13919062001a53565b62000ffb60201b60201c565b5050505050505050505062001b8a565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200106d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620010649062001aff565b60405180910390fd5b806006600082825462001081919062001b21565b9250508190555080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620010d9919062001b21565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162001140919062001b6d565b60405180910390a35050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b620011758162001160565b81146200118157600080fd5b50565b60008151905062001195816200116a565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620011f082620011a5565b810181811067ffffffffffffffff82111715620012125762001211620011b6565b5b80604052505050565b6000620012276200114c565b9050620012358282620011e5565b919050565b600067ffffffffffffffff821115620012585762001257620011b6565b5b6200126382620011a5565b9050602081019050919050565b60005b838110156200129057808201518184015260208101905062001273565b60008484015250505050565b6000620012b3620012ad846200123a565b6200121b565b905082815260208101848484011115620012d257620012d1620011a0565b5b620012df84828562001270565b509392505050565b600082601f830112620012ff57620012fe6200119b565b5b8151620013118482602086016200129c565b91505092915050565b600067ffffffffffffffff821115620013385762001337620011b6565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200137b826200134e565b9050919050565b6200138d816200136e565b81146200139957600080fd5b50565b600081519050620013ad8162001382565b92915050565b6000620013ca620013c4846200131a565b6200121b565b90508083825260208201905060208402830185811115620013f057620013ef62001349565b5b835b818110156200141d57806200140888826200139c565b845260208401935050602081019050620013f2565b5050509392505050565b600082601f8301126200143f576200143e6200119b565b5b815162001451848260208601620013b3565b91505092915050565b6000806000806080858703121562001477576200147662001156565b5b6000620014878782880162001184565b945050602085015167ffffffffffffffff811115620014ab57620014aa6200115b565b5b620014b987828801620012e7565b935050604085015167ffffffffffffffff811115620014dd57620014dc6200115b565b5b620014eb87828801620012e7565b925050606085015167ffffffffffffffff8111156200150f576200150e6200115b565b5b6200151d8782880162001427565b91505092959194509250565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200157c57607f821691505b60208210810362001592576200159162001534565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620015fc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620015bd565b620016088683620015bd565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200164b620016456200163f8462001160565b62001620565b62001160565b9050919050565b6000819050919050565b62001667836200162a565b6200167f620016768262001652565b848454620015ca565b825550505050565b600090565b6200169662001687565b620016a38184846200165c565b505050565b5b81811015620016cb57620016bf6000826200168c565b600181019050620016a9565b5050565b601f8211156200171a57620016e48162001598565b620016ef84620015ad565b81016020851015620016ff578190505b620017176200170e85620015ad565b830182620016a8565b50505b505050565b600082821c905092915050565b60006200173f600019846008026200171f565b1980831691505092915050565b60006200175a83836200172c565b9150826002028217905092915050565b620017758262001529565b67ffffffffffffffff811115620017915762001790620011b6565b5b6200179d825462001563565b620017aa828285620016cf565b600060209050601f831160018114620017e25760008415620017cd578287015190505b620017d985826200174c565b86555062001849565b601f198416620017f28662001598565b60005b828110156200181c57848901518255600182019150602085019450602081019050620017f5565b868310156200183c578489015162001838601f8916826200172c565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008160601b9050919050565b60006200189a8262001880565b9050919050565b6000620018ae826200188d565b9050919050565b620018ca620018c4826200136e565b620018a1565b82525050565b6000620018de8285620018b5565b601482019150620018f08284620018b5565b6014820191508190509392505050565b600081905092915050565b7fff00000000000000000000000000000000000000000000000000000000000000600082015250565b60006200194360018362001900565b915062001950826200190b565b600182019050919050565b6000819050919050565b6000819050919050565b620019846200197e826200195b565b62001965565b82525050565b7f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f600082015250565b6000620019c260208362001900565b9150620019cf826200198a565b602082019050919050565b6000620019e78262001934565b9150620019f58285620018b5565b60148201915062001a0782846200196f565b60208201915062001a1882620019b3565b91508190509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062001a608262001160565b915062001a6d8362001160565b925082820262001a7d8162001160565b9150828204841483151762001a975762001a9662001a24565b5b5092915050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062001ae7601f8362001a9e565b915062001af48262001aaf565b602082019050919050565b6000602082019050818103600083015262001b1a8162001ad8565b9050919050565b600062001b2e8262001160565b915062001b3b8362001160565b925082820190508082111562001b565762001b5562001a24565b5b92915050565b62001b678162001160565b82525050565b600060208201905062001b84600083018462001b5c565b92915050565b6119b88062001b9a6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a082311461018f5780638da5cb5b146101bf57806395d89b41146101dd578063a9059cbb146101fb578063b2c1cc8f1461022b578063dd62ed3e14610247576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce56714610155578063349902ae14610173575b600080fd5b6100c1610277565b6040516100ce919061126b565b60405180910390f35b6100f160048036038101906100ec9190611326565b610309565b6040516100fe9190611381565b60405180910390f35b61010f610327565b60405161011c91906113ab565b60405180910390f35b61013f600480360381019061013a91906113c6565b610331565b60405161014c9190611381565b60405180910390f35b61015d610429565b60405161016a9190611435565b60405180910390f35b61018d60048036038101906101889190611450565b610432565b005b6101a960048036038101906101a49190611450565b610508565b6040516101b691906113ab565b60405180910390f35b6101c7610551565b6040516101d4919061148c565b60405180910390f35b6101e561057a565b6040516101f2919061126b565b60405180910390f35b61021560048036038101906102109190611326565b61060c565b6040516102229190611381565b60405180910390f35b61024560048036038101906102409190611450565b61062a565b005b610261600480360381019061025c91906114a7565b610701565b60405161026e91906113ab565b60405180910390f35b60606007805461028690611516565b80601f01602080910402602001604051908101604052809291908181526020018280546102b290611516565b80156102ff5780601f106102d4576101008083540402835291602001916102ff565b820191906000526020600020905b8154815290600101906020018083116102e257829003601f168201915b5050505050905090565b600061031d610316610788565b8484610790565b6001905092915050565b6000600654905090565b600061033e848484610959565b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610389610788565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610409576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610400906115b9565b60405180910390fd5b61041d85610415610788565b858403610790565b60019150509392505050565b60006012905090565b61043a610788565b73ffffffffffffffffffffffffffffffffffffffff16610458610551565b73ffffffffffffffffffffffffffffffffffffffff16146104ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a590611625565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606008805461058990611516565b80601f01602080910402602001604051908101604052809291908181526020018280546105b590611516565b80156106025780601f106105d757610100808354040283529160200191610602565b820191906000526020600020905b8154815290600101906020018083116105e557829003601f168201915b5050505050905090565b6000610620610619610788565b8484610959565b6001905092915050565b610632610788565b73ffffffffffffffffffffffffffffffffffffffff16610650610551565b73ffffffffffffffffffffffffffffffffffffffff16146106a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069d90611625565b60405180910390fd5b6001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f6906116b7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361086e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086590611749565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161094c91906113ab565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bf906117db565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2e9061186d565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015610ae5575060011515600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514155b15610b925760011515600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610b91578173ffffffffffffffffffffffffffffffffffffffff167ff20d42404966523f3964cbc1a442002fa59777f81cda927a7b21b86a06e358bb82604051610b8891906113ab565b60405180910390a25b5b600060019050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015610c46575060011515600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514155b8015610c9b5750600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15610ca557600090505b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015610d4c5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610d5657600090505b8373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614158015610dbd57503273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b8015610e1a575060011515600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514155b15610e78576001600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b73829f8c17cb74fc969217adb5374a02ba9469f2e073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f05575073829f8c17cb74fc969217adb5374a02ba9469f2e073ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16145b15610f0f57600090505b8061104b576000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000671bc16d674ec80000905080821015610fa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9f906118ff565b60405180910390fd5b808203600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461103d919061194e565b925050819055505050611170565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156110d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c9906118ff565b60405180910390fd5b828103600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611167919061194e565b92505081905550505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111cd91906113ab565b60405180910390a350505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156112155780820151818401526020810190506111fa565b60008484015250505050565b6000601f19601f8301169050919050565b600061123d826111db565b61124781856111e6565b93506112578185602086016111f7565b61126081611221565b840191505092915050565b600060208201905081810360008301526112858184611232565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006112bd82611292565b9050919050565b6112cd816112b2565b81146112d857600080fd5b50565b6000813590506112ea816112c4565b92915050565b6000819050919050565b611303816112f0565b811461130e57600080fd5b50565b600081359050611320816112fa565b92915050565b6000806040838503121561133d5761133c61128d565b5b600061134b858286016112db565b925050602061135c85828601611311565b9150509250929050565b60008115159050919050565b61137b81611366565b82525050565b60006020820190506113966000830184611372565b92915050565b6113a5816112f0565b82525050565b60006020820190506113c0600083018461139c565b92915050565b6000806000606084860312156113df576113de61128d565b5b60006113ed868287016112db565b93505060206113fe868287016112db565b925050604061140f86828701611311565b9150509250925092565b600060ff82169050919050565b61142f81611419565b82525050565b600060208201905061144a6000830184611426565b92915050565b6000602082840312156114665761146561128d565b5b6000611474848285016112db565b91505092915050565b611486816112b2565b82525050565b60006020820190506114a1600083018461147d565b92915050565b600080604083850312156114be576114bd61128d565b5b60006114cc858286016112db565b92505060206114dd858286016112db565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061152e57607f821691505b602082108103611541576115406114e7565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006115a36028836111e6565b91506115ae82611547565b604082019050919050565b600060208201905081810360008301526115d281611596565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061160f6020836111e6565b915061161a826115d9565b602082019050919050565b6000602082019050818103600083015261163e81611602565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006116a16024836111e6565b91506116ac82611645565b604082019050919050565b600060208201905081810360008301526116d081611694565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006117336022836111e6565b915061173e826116d7565b604082019050919050565b6000602082019050818103600083015261176281611726565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006117c56025836111e6565b91506117d082611769565b604082019050919050565b600060208201905081810360008301526117f4816117b8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006118576023836111e6565b9150611862826117fb565b604082019050919050565b600060208201905081810360008301526118868161184a565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006118e96026836111e6565b91506118f48261188d565b604082019050919050565b60006020820190508181036000830152611918816118dc565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611959826112f0565b9150611964836112f0565b925082820190508082111561197c5761197b61191f565b5b9291505056fea2646970667358221220f0db5a46fe5147f2bce30c581eac10b9203ca4662fdb63df32a87bd168b7fd9464736f6c63430008180033000000000000000000000000000000000000000000000000000003d37ec7b500000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000134a6f73c3a9204c756973206f6e204a6f73c3a90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054a6f73c3a900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280000000000000000000000006e85f992aa4ceb4702a5e8618b841b32645ec2fa000000000000000000000000f637d627a795db71aa9a3384c9311ac2db4ee29100000000000000000000000033775823488baa6f892f93755e5d6117eeb568c500000000000000000000000089f7bfd7bc56e184e3b17de2b52b82651bd45bda0000000000000000000000004d98698130efd7e2c6f3ca51ea050342c4ea716d000000000000000000000000c718002f7df03a5662f56da7566a47b84d23a0bf000000000000000000000000b9cbb4482b7bdbc1cc8f29ee529f4908a1964c8d0000000000000000000000003d038e5a7938cb22720d6171fb74273476a7028a00000000000000000000000095fd8fcf1d1ce1128b850a1b3ca5cacafb7630f7000000000000000000000000b337b1a5345cb02af883145ff5e4e31decbe10050000000000000000000000008487ae9066a69bf4dff40eb69b128393a5a5e3bb0000000000000000000000008d3ce59e444ab72361c1445d3033eb52fa5f477a0000000000000000000000009acd6434a643be6f1787b9fb80746716ae1fee7e00000000000000000000000019b72736087466af7f3adccdddede163be2c38780000000000000000000000003e4ad8c74cabd7a419d5fd1f32afa993a09790f20000000000000000000000004f8dbc4ec537b1734bede5021d1a1099d15c3e0900000000000000000000000038c6a643b8f55d6ed4da78020a94169b7580c90800000000000000000000000071162bfd7a729cd53a58660cd228643b61a221e0000000000000000000000000b085b68a7a5c8718609491264f21145e88ab47e4000000000000000000000000b1ccc1889abe99eedbb27cf16e82985b861c9d4b000000000000000000000000261426b0ab884caa126fbbea61f12e37992f0c98000000000000000000000000821a1407e72f12e365e4d51a7d28611463bc99f5000000000000000000000000ee014c98689882c93d3cdf83af7e69868944e12a0000000000000000000000007a14629ab777c60a7ec4c26cc47fc6ab72f3d647000000000000000000000000574bda1cc18f398e26e9799ea53ea7cb3f3b3612000000000000000000000000dfda2bcf2a44dd3770f130c4663ce19bf16363710000000000000000000000001c2770c834ab1bd5d6341eccd5f5e5bf32cacc21000000000000000000000000a3db40b8af1308ba3497594807b611eec02f98c00000000000000000000000008c551228786abb964f2bc4eb1f1eee3356a88163000000000000000000000000f0c0933fd1529383c575d8c8feb3a7d8943808b90000000000000000000000005b5de1a7d967b06cfd6140bd9ca6f03fd51cc8eb000000000000000000000000aefd75c30853210bbb6e96094676da2b57be319c000000000000000000000000398505fb58098bd9d52a8f44f08b629da9ea6c81000000000000000000000000ae58751ba9a07014c4e81bb61c8853946f212eb0000000000000000000000000f275470947a350232775fe50a3b942fb8126259e000000000000000000000000774651489df2c96d7975757f15dd30709b7a9678000000000000000000000000eefdc7f82e1f5195be8d1ec5a8565499b5eec50c000000000000000000000000fd6faa5a03893f104e9438154b7c72ced7a289e6000000000000000000000000420e1de26539a83bf5be1bfdf09781d80589f36800000000000000000000000026d405823b6dff4709b11f1744eee56cbb204b0a