60c06040526040518060400160405280601881526020017f43727970746f416e617263686973744d616e69666573746f0000000000000000815250600190816200004a91906200123d565b506040518060400160405280600981526020017f414e415243484953540000000000000000000000000000000000000000000000815250600290816200009191906200123d565b50601260035f6101000a81548160ff021916908360ff16021790555073a7426f18b9e9795428943f60744040ae4b68cbbe600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff168152505f73ffffffffffffffffffffffffffffffffffffffff1660a09073ffffffffffffffffffffffffffffffffffffffff16815250612710600855604051806040016040528060035f9054906101000a900460ff1660ff1681526020016008548152506009906002620001ea92919062000f77565b5060035f9054906101000a900460ff16600a620002089190620014aa565b6305f5e100620002199190620014fa565b600f556200024a6103e86200023b6001600f5462000db060201b90919060201c565b62000e3060201b90919060201c565b6010556200027a60646200026b6001600f5462000db060201b90919060201c565b62000e3060201b90919060201c565b601155620002aa60646200029b6001600f5462000db060201b90919060201c565b62000e3060201b90919060201c565b6012555f601460156101000a81548160ff0219169083151502179055506001601460166101000a81548160ff0219169083151502179055505f60155560016016555f6017555f60185560016019555f601a555f601b555f601c555f601d5534801562000314575f80fd5b505f6200032662000e8160201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000424573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200044a9190620015a9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004b0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004d69190620015a9565b6040518363ffffffff1660e01b8152600401620004f5929190620015ea565b6020604051808303815f875af115801562000512573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620005389190620015a9565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f1960075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001600b5f6200066b62000e8860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600b5f600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600b5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f6200081162000e8860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600d5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600e5f62000a2d62000e8860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600e5f600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600e5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600e5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555062000bed60175462000bde60165460155462000eaf60201b90919060201c565b62000eaf60201b90919060201c565b601e8190555062000c22601a5462000c1360195460185462000eaf60201b90919060201c565b62000eaf60201b90919060201c565b601f819055506001600c5f60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503360055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f5460065f62000cf462000e8160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555062000d4162000e8160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600f5460405162000da1919062001626565b60405180910390a3506200188d565b5f80830362000dc2575f905062000e2a565b5f828462000dd19190620014fa565b905082848262000de291906200166e565b1462000e25576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000e1c9062001729565b60405180910390fd5b809150505b92915050565b5f62000e7983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000f1160201b60201c565b905092915050565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f80828462000ebf919062001749565b90508381101562000f07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000efe90620017d1565b60405180910390fd5b8091505092915050565b5f808311829062000f5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000f5191906200186b565b60405180910390fd5b505f838562000f6a91906200166e565b9050809150509392505050565b826002810192821562000fa9579160200282015b8281111562000fa857825182559160200191906001019062000f8b565b5b50905062000fb8919062000fbc565b5090565b5b8082111562000fd5575f815f90555060010162000fbd565b5090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200105557607f821691505b6020821081036200106b576200106a62001010565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620010cf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262001092565b620010db868362001092565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620011256200111f6200111984620010f3565b620010fc565b620010f3565b9050919050565b5f819050919050565b620011408362001105565b620011586200114f826200112c565b8484546200109e565b825550505050565b5f90565b6200116e62001160565b6200117b81848462001135565b505050565b5b81811015620011a257620011965f8262001164565b60018101905062001181565b5050565b601f821115620011f157620011bb8162001071565b620011c68462001083565b81016020851015620011d6578190505b620011ee620011e58562001083565b83018262001180565b50505b505050565b5f82821c905092915050565b5f620012135f1984600802620011f6565b1980831691505092915050565b5f6200122d838362001202565b9150826002028217905092915050565b620012488262000fd9565b67ffffffffffffffff81111562001264576200126362000fe3565b5b6200127082546200103d565b6200127d828285620011a6565b5f60209050601f831160018114620012b3575f84156200129e578287015190505b620012aa858262001220565b86555062001319565b601f198416620012c38662001071565b5f5b82811015620012ec57848901518255600182019150602085019450602081019050620012c5565b868310156200130c578489015162001308601f89168262001202565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620013ab5780860481111562001383576200138262001321565b5b6001851615620013935780820291505b8081029050620013a3856200134e565b945062001363565b94509492505050565b5f82620013c5576001905062001497565b81620013d4575f905062001497565b8160018114620013ed5760028114620013f8576200142e565b600191505062001497565b60ff8411156200140d576200140c62001321565b5b8360020a91508482111562001427576200142662001321565b5b5062001497565b5060208310610133831016604e8410600b8410161715620014685782820a90508381111562001462576200146162001321565b5b62001497565b6200147784848460016200135a565b9250905081840481111562001491576200149062001321565b5b81810290505b9392505050565b5f60ff82169050919050565b5f620014b682620010f3565b9150620014c3836200149e565b9250620014f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620013b4565b905092915050565b5f6200150682620010f3565b91506200151383620010f3565b92508282026200152381620010f3565b915082820484148315176200153d576200153c62001321565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620015738262001548565b9050919050565b620015858162001567565b811462001590575f80fd5b50565b5f81519050620015a3816200157a565b92915050565b5f60208284031215620015c157620015c062001544565b5b5f620015d08482850162001593565b91505092915050565b620015e48162001567565b82525050565b5f604082019050620015ff5f830185620015d9565b6200160e6020830184620015d9565b9392505050565b6200162081620010f3565b82525050565b5f6020820190506200163b5f83018462001615565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200167a82620010f3565b91506200168783620010f3565b9250826200169a576200169962001641565b5b828204905092915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f62001711602183620016a5565b91506200171e82620016b5565b604082019050919050565b5f6020820190508181035f830152620017428162001703565b9050919050565b5f6200175582620010f3565b91506200176283620010f3565b92508282019050808211156200177d576200177c62001321565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f620017b9601b83620016a5565b9150620017c68262001783565b602082019050919050565b5f6020820190508181035f830152620017ea81620017ab565b9050919050565b5f5b8381101562001810578082015181840152602081019050620017f3565b5f8484015250505050565b5f601f19601f8301169050919050565b5f620018378262000fd9565b620018438185620016a5565b935062001855818560208601620017f1565b62001860816200181b565b840191505092915050565b5f6020820190508181035f8301526200188581846200182b565b905092915050565b60805160a051613361620018bd5f395f8181610b010152610cb501525f8181610c8a0152610ce101526133615ff3fe60806040526004361061026a575f3560e01c806388790a6811610143578063c816841b116100b5578063dc44b6a011610079578063dc44b6a014610963578063dd62ed3e1461098d578063f0cd1dac146109c9578063f2fde38b146109f3578063f680f79914610a1b578063f872858a14610a4557610271565b8063c816841b1461087f578063c8607952146108a9578063c867d60b146108d3578063d2d7ad831461090f578063da00097d1461093957610271565b806398e944c81161010757806398e944c81461075f578063a457c2d714610789578063a9059cbb146107c5578063b115e4df14610801578063b4f40c611461082b578063c5d241891461085557610271565b806388790a681461067b5780638b42507f146106a55780638b56459b146106e15780638da5cb5b1461070b57806395d89b411461073557610271565b8063313ce567116101dc5780635342acb4116101a05780635342acb41461056f57806370a08231146105ab578063715018a6146105e75780637d1db4a5146105fd578063807c2d9c1461062757806382eefb431461065157610271565b8063313ce5671461047957806339509351146104a35780633ecad271146104df578063513da4f51461051b5780635194f9bf1461054557610271565b80631694505e1161022e5780631694505e1461036b57806318160ddd1461039557806323555d57146103bf57806323b872dd146103e957806327c8f835146104255780632b112e491461044f57610271565b806306fdde03146102755780630930907b1461029f578063095ea7b3146102c95780630b2c4a43146103055780630f16f01d1461034157610271565b3661027157005b5f80fd5b348015610280575f80fd5b50610289610a6f565b60405161029691906126f8565b60405180910390f35b3480156102aa575f80fd5b506102b3610aff565b6040516102c09190612757565b60405180910390f35b3480156102d4575f80fd5b506102ef60048036038101906102ea91906127d1565b610b23565b6040516102fc9190612829565b60405180910390f35b348015610310575f80fd5b5061032b60048036038101906103269190612842565b610b40565b604051610338919061287c565b60405180910390f35b34801561034c575f80fd5b50610355610b59565b60405161036291906128b5565b60405180910390f35b348015610376575f80fd5b5061037f610b7f565b60405161038c9190612929565b60405180910390f35b3480156103a0575f80fd5b506103a9610ba4565b6040516103b6919061287c565b60405180910390f35b3480156103ca575f80fd5b506103d3610bad565b6040516103e0919061287c565b60405180910390f35b3480156103f4575f80fd5b5061040f600480360381019061040a9190612942565b610bb3565b60405161041c9190612829565b60405180910390f35b348015610430575f80fd5b50610439610c88565b6040516104469190612757565b60405180910390f35b34801561045a575f80fd5b50610463610cac565b604051610470919061287c565b60405180910390f35b348015610484575f80fd5b5061048d610d29565b60405161049a91906129ad565b60405180910390f35b3480156104ae575f80fd5b506104c960048036038101906104c491906127d1565b610d3e565b6040516104d69190612829565b60405180910390f35b3480156104ea575f80fd5b50610505600480360381019061050091906129c6565b610dec565b6040516105129190612829565b60405180910390f35b348015610526575f80fd5b5061052f610e09565b60405161053c919061287c565b60405180910390f35b348015610550575f80fd5b50610559610e0f565b604051610566919061287c565b60405180910390f35b34801561057a575f80fd5b50610595600480360381019061059091906129c6565b610e15565b6040516105a29190612829565b60405180910390f35b3480156105b6575f80fd5b506105d160048036038101906105cc91906129c6565b610e32565b6040516105de919061287c565b60405180910390f35b3480156105f2575f80fd5b506105fb610e78565b005b348015610608575f80fd5b50610611610fca565b60405161061e919061287c565b60405180910390f35b348015610632575f80fd5b5061063b610fd0565b604051610648919061287c565b60405180910390f35b34801561065c575f80fd5b50610665610fd6565b604051610672919061287c565b60405180910390f35b348015610686575f80fd5b5061068f610fdc565b60405161069c919061287c565b60405180910390f35b3480156106b0575f80fd5b506106cb60048036038101906106c691906129c6565b610fe2565b6040516106d89190612829565b60405180910390f35b3480156106ec575f80fd5b506106f5610fff565b604051610702919061287c565b60405180910390f35b348015610716575f80fd5b5061071f611005565b60405161072c9190612757565b60405180910390f35b348015610740575f80fd5b5061074961102c565b60405161075691906126f8565b60405180910390f35b34801561076a575f80fd5b506107736110bc565b6040516107809190612757565b60405180910390f35b348015610794575f80fd5b506107af60048036038101906107aa91906127d1565b6110e1565b6040516107bc9190612829565b60405180910390f35b3480156107d0575f80fd5b506107eb60048036038101906107e691906127d1565b6111a9565b6040516107f89190612829565b60405180910390f35b34801561080c575f80fd5b506108156111c7565b60405161082291906128b5565b60405180910390f35b348015610836575f80fd5b5061083f6111ec565b60405161084c919061287c565b60405180910390f35b348015610860575f80fd5b506108696111f2565b604051610876919061287c565b60405180910390f35b34801561088a575f80fd5b506108936111f8565b6040516108a09190612757565b60405180910390f35b3480156108b4575f80fd5b506108bd61121d565b6040516108ca919061287c565b60405180910390f35b3480156108de575f80fd5b506108f960048036038101906108f491906129c6565b611223565b6040516109069190612829565b60405180910390f35b34801561091a575f80fd5b50610923611240565b604051610930919061287c565b60405180910390f35b348015610944575f80fd5b5061094d611246565b60405161095a9190612829565b60405180910390f35b34801561096e575f80fd5b50610977611259565b604051610984919061287c565b60405180910390f35b348015610998575f80fd5b506109b360048036038101906109ae91906129f1565b61125f565b6040516109c0919061287c565b60405180910390f35b3480156109d4575f80fd5b506109dd6112e1565b6040516109ea919061287c565b60405180910390f35b3480156109fe575f80fd5b50610a196004803603810190610a1491906129c6565b6112e7565b005b348015610a26575f80fd5b50610a2f6114a4565b604051610a3c919061287c565b60405180910390f35b348015610a50575f80fd5b50610a596114aa565b604051610a669190612829565b60405180910390f35b606060018054610a7e90612a5c565b80601f0160208091040260200160405190810160405280929190818152602001828054610aaa90612a5c565b8015610af55780601f10610acc57610100808354040283529160200191610af5565b820191905f5260205f20905b815481529060010190602001808311610ad857829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f610b36610b2f6114bd565b84846114c4565b6001905092915050565b60098160028110610b4f575f80fd5b015f915090505481565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600f54905090565b60175481565b5f610bbf848484611687565b50610c7d84610bcc6114bd565b610c78856040518060600160405280602881526020016132df6028913960075f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610c2f6114bd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e979092919063ffffffff16565b6114c4565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f610d24610cd97f0000000000000000000000000000000000000000000000000000000000000000610e32565b610d16610d057f0000000000000000000000000000000000000000000000000000000000000000610e32565b600f54611ef990919063ffffffff16565b611ef990919063ffffffff16565b905090565b5f60035f9054906101000a900460ff16905090565b5f610de2610d4a6114bd565b84610ddd8560075f610d5a6114bd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f4290919063ffffffff16565b6114c4565b6001905092915050565b600c602052805f5260405f205f915054906101000a900460ff1681565b601c5481565b601a5481565b600b602052805f5260405f205f915054906101000a900460ff1681565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610e806114bd565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0390612ad6565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a361dead5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60115481565b60125481565b601f5481565b60185481565b600e602052805f5260405f205f915054906101000a900460ff1681565b601b5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606002805461103b90612a5c565b80601f016020809104026020016040519081016040528092919081815260200182805461106790612a5c565b80156110b25780601f10611089576101008083540402835291602001916110b2565b820191905f5260205f20905b81548152906001019060200180831161109557829003601f168201915b5050505050905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61119f6110ed6114bd565b8461119a856040518060600160405280602581526020016133076025913960075f6111166114bd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e979092919063ffffffff16565b6114c4565b6001905092915050565b5f6111bc6111b56114bd565b8484611687565b506001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601d5481565b60165481565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60195481565b600d602052805f5260405f205f915054906101000a900460ff1681565b60105481565b601460159054906101000a900460ff1681565b60155481565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b601e5481565b6112ef6114bd565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461137b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137290612ad6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036113e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e090612b64565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60085481565b601460169054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611532576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152990612bf2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159790612c80565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161167a919061287c565b60405180910390a3505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036116f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ed90612d0e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175b90612d9c565b60405180910390fd5b60148054906101000a900460ff161561178957611782848484611f9f565b9050611e90565b600e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156118275750600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561187257601154821115611871576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186890612e2a565b60405180910390fd5b5b5f61187c30610e32565b90505f601054821015905080801561189f575060148054906101000a900460ff16155b80156118f25750600c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561191c57601460159054906101000a900460ff16156119125760105491505b61191b82612169565b5b601460169054906101000a900460ff16801561197f5750600d5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a0c576012546119ca6119b36103e86119a5601f548961225b90919063ffffffff16565b6122d290919063ffffffff16565b6119bc88610e32565b611f4290919063ffffffff16565b1115611a0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0290612eb8565b60405180910390fd5b5b611a356103e8611a27601f548761225b90919063ffffffff16565b6122d290919063ffffffff16565b60095f60028110611a4957611a48612ed6565b5b0181905550611a776103e8611a69601f548761225b90919063ffffffff16565b6122d290919063ffffffff16565b84611a829190612f30565b6009600160028110611a9757611a96612ed6565b5b01819055505f600e5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580611b3a5750600e5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80611bdc5750600c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611bdb5750600c5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b5b15611bff57600b601b5f828254611bf39190612f63565b92505081905550611c21565b600e601b5f828254611c119190612f63565b92505081905550611c2061231b565b5b600181611c2e9190612f63565b601c5f828254611c3e9190612f63565b92505081905550611c958560065f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ef990919063ffffffff16565b60065f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d3b60095f60028110611ced57611cec612ed6565b5b015460065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f4290919063ffffffff16565b60065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611de26009600160028110611d9457611d93612ed6565b5b015460065f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f4290919063ffffffff16565b60065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef87604051611e80919061287c565b60405180910390a3600193505050505b9392505050565b5f838311158290611ede576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed591906126f8565b60405180910390fd5b505f8385611eec9190612f30565b9050809150509392505050565b5f611f3a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e97565b905092915050565b5f808284611f509190612f63565b905083811015611f95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8c90612fe0565b60405180910390fd5b8091505092915050565b5f612027826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e979092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506120b88260065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f4290919063ffffffff16565b60065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612156919061287c565b60405180910390a3600190509392505050565b60016014806101000a81548160ff021916908315150217905550600f601b5f8282546121959190612f63565b925050819055506121a58161235c565b5f4790506001601b546121b89190612f63565b601c5f8282546121c89190612f63565b925050819055505f81111561223e57600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561223c573d5f803e3d5ffd5b505b505f6014806101000a81548160ff02191690831515021790555050565b5f80830361226b575f90506122cc565b5f82846122789190612ffe565b9050828482612287919061306c565b146122c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122be9061310c565b60405180910390fd5b809150505b92915050565b5f61231383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061260d565b905092915050565b6011601c819055506b3a632a2976e371053a9a0ffc60095f6002811061234457612343612ed6565b5b015f8282546123539190612f63565b92505081905550565b601b54601c819055506011601b5f8282546123779190612f63565b925050819055505f600267ffffffffffffffff81111561239a5761239961312a565b5b6040519080825280602002602001820160405280156123c85781602001602082028036833780820191505090505b509050600a60095f600281106123e1576123e0612ed6565b5b015f8282546123f09190612f63565b925050819055506003600960016002811061240e5761240d612ed6565b5b015f82825461241d9190612f63565b9250508190555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561248e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124b2919061316b565b816001815181106124c6576124c5612ed6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505030815f8151811061251457612513612ed6565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061257a3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846114c4565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016125dc959493929190613286565b5f604051808303815f87803b1580156125f3575f80fd5b505af1158015612605573d5f803e3d5ffd5b505050505050565b5f8083118290612653576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264a91906126f8565b60405180910390fd5b505f8385612661919061306c565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156126a557808201518184015260208101905061268a565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6126ca8261266e565b6126d48185612678565b93506126e4818560208601612688565b6126ed816126b0565b840191505092915050565b5f6020820190508181035f83015261271081846126c0565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61274182612718565b9050919050565b61275181612737565b82525050565b5f60208201905061276a5f830184612748565b92915050565b5f80fd5b61277d81612737565b8114612787575f80fd5b50565b5f8135905061279881612774565b92915050565b5f819050919050565b6127b08161279e565b81146127ba575f80fd5b50565b5f813590506127cb816127a7565b92915050565b5f80604083850312156127e7576127e6612770565b5b5f6127f48582860161278a565b9250506020612805858286016127bd565b9150509250929050565b5f8115159050919050565b6128238161280f565b82525050565b5f60208201905061283c5f83018461281a565b92915050565b5f6020828403121561285757612856612770565b5b5f612864848285016127bd565b91505092915050565b6128768161279e565b82525050565b5f60208201905061288f5f83018461286d565b92915050565b5f61289f82612718565b9050919050565b6128af81612895565b82525050565b5f6020820190506128c85f8301846128a6565b92915050565b5f819050919050565b5f6128f16128ec6128e784612718565b6128ce565b612718565b9050919050565b5f612902826128d7565b9050919050565b5f612913826128f8565b9050919050565b61292381612909565b82525050565b5f60208201905061293c5f83018461291a565b92915050565b5f805f6060848603121561295957612958612770565b5b5f6129668682870161278a565b93505060206129778682870161278a565b9250506040612988868287016127bd565b9150509250925092565b5f60ff82169050919050565b6129a781612992565b82525050565b5f6020820190506129c05f83018461299e565b92915050565b5f602082840312156129db576129da612770565b5b5f6129e88482850161278a565b91505092915050565b5f8060408385031215612a0757612a06612770565b5b5f612a148582860161278a565b9250506020612a258582860161278a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612a7357607f821691505b602082108103612a8657612a85612a2f565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612ac0602083612678565b9150612acb82612a8c565b602082019050919050565b5f6020820190508181035f830152612aed81612ab4565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612b4e602683612678565b9150612b5982612af4565b604082019050919050565b5f6020820190508181035f830152612b7b81612b42565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612bdc602483612678565b9150612be782612b82565b604082019050919050565b5f6020820190508181035f830152612c0981612bd0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612c6a602283612678565b9150612c7582612c10565b604082019050919050565b5f6020820190508181035f830152612c9781612c5e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612cf8602583612678565b9150612d0382612c9e565b604082019050919050565b5f6020820190508181035f830152612d2581612cec565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612d86602383612678565b9150612d9182612d2c565b604082019050919050565b5f6020820190508181035f830152612db381612d7a565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d6178545f8201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b5f612e14602883612678565b9150612e1f82612dba565b604082019050919050565b5f6020820190508181035f830152612e4181612e08565b9050919050565b7f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c695f8201527f6d69742121000000000000000000000000000000000000000000000000000000602082015250565b5f612ea2602583612678565b9150612ead82612e48565b604082019050919050565b5f6020820190508181035f830152612ecf81612e96565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612f3a8261279e565b9150612f458361279e565b9250828203905081811115612f5d57612f5c612f03565b5b92915050565b5f612f6d8261279e565b9150612f788361279e565b9250828201905080821115612f9057612f8f612f03565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612fca601b83612678565b9150612fd582612f96565b602082019050919050565b5f6020820190508181035f830152612ff781612fbe565b9050919050565b5f6130088261279e565b91506130138361279e565b92508282026130218161279e565b9150828204841483151761303857613037612f03565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6130768261279e565b91506130818361279e565b9250826130915761309061303f565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6130f6602183612678565b91506131018261309c565b604082019050919050565b5f6020820190508181035f830152613123816130ea565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f8151905061316581612774565b92915050565b5f602082840312156131805761317f612770565b5b5f61318d84828501613157565b91505092915050565b5f819050919050565b5f6131b96131b46131af84613196565b6128ce565b61279e565b9050919050565b6131c98161319f565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61320181612737565b82525050565b5f61321283836131f8565b60208301905092915050565b5f602082019050919050565b5f613234826131cf565b61323e81856131d9565b9350613249836131e9565b805f5b838110156132795781516132608882613207565b975061326b8361321e565b92505060018101905061324c565b5085935050505092915050565b5f60a0820190506132995f83018861286d565b6132a660208301876131c0565b81810360408301526132b8818661322a565b90506132c76060830185612748565b6132d4608083018461286d565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e51777403b21495d58e49840c630c2d6ce0506f827a164af82270ed8efb18b6e64736f6c63430008170033