60c06040526001600c5f6101000a81548160ff0219169083151502179055505f600c60016101000a81548160ff0219169083151502179055506001600c60026101000a81548160ff0219169083151502179055506601476b081e8000600d555f600e5f6101000a81548160ff02191690831515021790555034801562000083575f80fd5b506040518060400160405280600681526020017f58205465636800000000000000000000000000000000000000000000000000008152506040518060400160405280600281526020017f5854000000000000000000000000000000000000000000000000000000000000815250816003908162000101919062000d01565b50806004908162000113919062000d01565b505050620001366200012a620005bb60201b60201c565b620005c260201b60201c565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050620001958160016200068560201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001df573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000205919062000e4a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200026b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000291919062000e4a565b6040518363ffffffff1660e01b8152600401620002b092919062000e8b565b6020604051808303815f875af1158015620002cd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002f3919062000e4a565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200033b60a05160016200068560201b60201c565b6200035060a05160016200076c60201b60201c565b6a108b2a2c280290940000006009819055506a108b2a2c28029094000000600b819055506969e10de76676d0800000600a819055505f6b033b2e3c9fd0803ce800000090507360e58c2f6956ecc2b36880ef8418dd761ae005b360085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507360e58c2f6956ecc2b36880ef8418dd761ae005b360075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200045f62000451620007c460201b60201c565b6001620007ec60201b60201c565b62000472306001620007ec60201b60201c565b6200048761dead6001620007ec60201b60201c565b620004bb60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620007ec60201b60201c565b620004ef60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620007ec60201b60201c565b6200051162000503620007c460201b60201c565b60016200068560201b60201c565b620005243060016200068560201b60201c565b6200053961dead60016200068560201b60201c565b6200056d60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200068560201b60201c565b620005a160075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200068560201b60201c565b620005b333826200092360201b60201c565b50506200106c565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b62000695620005bb60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620006bb620007c460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000714576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200070b9062000f14565b60405180910390fd5b8060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b8060145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620007fc620005bb60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1662000822620007c460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200087b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008729062000f14565b60405180910390fd5b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405162000917919062000f50565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000994576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200098b9062000fb9565b60405180910390fd5b620009a75f838362000a9360201b60201c565b8060025f828254620009ba919062001006565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825462000a0e919062001006565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000a74919062001051565b60405180910390a362000a8f5f838362000a9860201b60201c565b5050565b505050565b505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000b1957607f821691505b60208210810362000b2f5762000b2e62000ad4565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000b937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000b56565b62000b9f868362000b56565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000be962000be362000bdd8462000bb7565b62000bc0565b62000bb7565b9050919050565b5f819050919050565b62000c048362000bc9565b62000c1c62000c138262000bf0565b84845462000b62565b825550505050565b5f90565b62000c3262000c24565b62000c3f81848462000bf9565b505050565b5b8181101562000c665762000c5a5f8262000c28565b60018101905062000c45565b5050565b601f82111562000cb55762000c7f8162000b35565b62000c8a8462000b47565b8101602085101562000c9a578190505b62000cb262000ca98562000b47565b83018262000c44565b50505b505050565b5f82821c905092915050565b5f62000cd75f198460080262000cba565b1980831691505092915050565b5f62000cf1838362000cc6565b9150826002028217905092915050565b62000d0c8262000a9d565b67ffffffffffffffff81111562000d285762000d2762000aa7565b5b62000d34825462000b01565b62000d4182828562000c6a565b5f60209050601f83116001811462000d77575f841562000d62578287015190505b62000d6e858262000ce4565b86555062000ddd565b601f19841662000d878662000b35565b5f5b8281101562000db05784890151825560018201915060208501945060208101905062000d89565b8683101562000dd0578489015162000dcc601f89168262000cc6565b8355505b6001600288020188555050505b505050505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000e148262000de9565b9050919050565b62000e268162000e08565b811462000e31575f80fd5b50565b5f8151905062000e448162000e1b565b92915050565b5f6020828403121562000e625762000e6162000de5565b5b5f62000e718482850162000e34565b91505092915050565b62000e858162000e08565b82525050565b5f60408201905062000ea05f83018562000e7a565b62000eaf602083018462000e7a565b9392505050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f62000efc60208362000eb6565b915062000f098262000ec6565b602082019050919050565b5f6020820190508181035f83015262000f2d8162000eee565b9050919050565b5f8115159050919050565b62000f4a8162000f34565b82525050565b5f60208201905062000f655f83018462000f3f565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000fa1601f8362000eb6565b915062000fae8262000f6b565b602082019050919050565b5f6020820190508181035f83015262000fd28162000f93565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620010128262000bb7565b91506200101f8362000bb7565b92508282019050808211156200103a576200103962000fd9565b5b92915050565b6200104b8162000bb7565b82525050565b5f602082019050620010665f83018462001040565b92915050565b60805160a051613c62620010a35f395f610cbc01525f8181610acf01528181612c5d01528181612d3c0152612d630152613c625ff3fe60806040526004361061025f575f3560e01c80637bce5a0411610143578063b62496f5116100b5578063cfa7159311610079578063cfa71593146108f2578063d85ba0631461091c578063dd62ed3e14610946578063e2f4560514610982578063f2fde38b146109ac578063f8b45b05146109d457610266565b8063b62496f514610810578063bbc0c7421461084c578063c024666814610876578063c876d0b91461089e578063c8c8ebe4146108c857610266565b806395d89b411161010757806395d89b41146106f05780639c3b4fdc1461071a5780639fccce3214610744578063a0d82dc51461076e578063a457c2d714610798578063a9059cbb146107d457610266565b80637bce5a04146106325780638a8c523c1461065c5780638da5cb5b146106725780638ea5220f1461069c57806392136913146106c657610266565b8063313ce567116101dc5780636a486a8e116101a05780636a486a8e1461053a57806370a0823114610564578063715018a6146105a0578063751039fc146105b65780637571336a146105e057806375f0a8741461060857610266565b8063313ce56714610444578063395093511461046e57806349bd5a5e146104aa5780634a62bb65146104d45780634fbee193146104fe57610266565b806318160ddd1161022357806318160ddd146103605780631f3fed8f1461038a57806323b872dd146103b45780632c3e486c146103f05780632e82f1a01461041a57610266565b806306fdde031461026a578063095ea7b3146102945780630e14ebdc146102d057806310d5de53146102fa5780631694505e1461033657610266565b3661026657005b5f80fd5b348015610275575f80fd5b5061027e6109fe565b60405161028b9190612e7d565b60405180910390f35b34801561029f575f80fd5b506102ba60048036038101906102b59190612f2e565b610a8e565b6040516102c79190612f86565b60405180910390f35b3480156102db575f80fd5b506102e4610aab565b6040516102f19190612fae565b60405180910390f35b348015610305575f80fd5b50610320600480360381019061031b9190612fc7565b610ab0565b60405161032d9190612f86565b60405180910390f35b348015610341575f80fd5b5061034a610acd565b604051610357919061304d565b60405180910390f35b34801561036b575f80fd5b50610374610af1565b6040516103819190612fae565b60405180910390f35b348015610395575f80fd5b5061039e610afa565b6040516103ab9190612fae565b60405180910390f35b3480156103bf575f80fd5b506103da60048036038101906103d59190613066565b610b00565b6040516103e79190612f86565b60405180910390f35b3480156103fb575f80fd5b50610404610bf2565b6040516104119190612fae565b60405180910390f35b348015610425575f80fd5b5061042e610bf8565b60405161043b9190612f86565b60405180910390f35b34801561044f575f80fd5b50610458610c0b565b60405161046591906130d1565b60405180910390f35b348015610479575f80fd5b50610494600480360381019061048f9190612f2e565b610c13565b6040516104a19190612f86565b60405180910390f35b3480156104b5575f80fd5b506104be610cba565b6040516104cb91906130f9565b60405180910390f35b3480156104df575f80fd5b506104e8610cde565b6040516104f59190612f86565b60405180910390f35b348015610509575f80fd5b50610524600480360381019061051f9190612fc7565b610cf0565b6040516105319190612f86565b60405180910390f35b348015610545575f80fd5b5061054e610d42565b60405161055b9190612fae565b60405180910390f35b34801561056f575f80fd5b5061058a60048036038101906105859190612fc7565b610d47565b6040516105979190612fae565b60405180910390f35b3480156105ab575f80fd5b506105b4610d8c565b005b3480156105c1575f80fd5b506105ca610e13565b6040516105d79190612f86565b60405180910390f35b3480156105eb575f80fd5b506106066004803603810190610601919061313c565b610eb0565b005b348015610613575f80fd5b5061061c610f84565b60405161062991906130f9565b60405180910390f35b34801561063d575f80fd5b50610646610fa9565b6040516106539190612fae565b60405180910390f35b348015610667575f80fd5b50610670610fae565b005b34801561067d575f80fd5b5061068661104e565b60405161069391906130f9565b60405180910390f35b3480156106a7575f80fd5b506106b0611076565b6040516106bd91906130f9565b60405180910390f35b3480156106d1575f80fd5b506106da61109b565b6040516106e79190612fae565b60405180910390f35b3480156106fb575f80fd5b506107046110a0565b6040516107119190612e7d565b60405180910390f35b348015610725575f80fd5b5061072e611130565b60405161073b9190612fae565b60405180910390f35b34801561074f575f80fd5b50610758611134565b6040516107659190612fae565b60405180910390f35b348015610779575f80fd5b5061078261113a565b60405161078f9190612fae565b60405180910390f35b3480156107a3575f80fd5b506107be60048036038101906107b99190612f2e565b61113e565b6040516107cb9190612f86565b60405180910390f35b3480156107df575f80fd5b506107fa60048036038101906107f59190612f2e565b611224565b6040516108079190612f86565b60405180910390f35b34801561081b575f80fd5b5061083660048036038101906108319190612fc7565b611241565b6040516108439190612f86565b60405180910390f35b348015610857575f80fd5b5061086061125e565b60405161086d9190612f86565b60405180910390f35b348015610881575f80fd5b5061089c6004803603810190610897919061313c565b611271565b005b3480156108a9575f80fd5b506108b2611393565b6040516108bf9190612f86565b60405180910390f35b3480156108d3575f80fd5b506108dc6113a5565b6040516108e99190612fae565b60405180910390f35b3480156108fd575f80fd5b506109066113ab565b6040516109139190612fae565b60405180910390f35b348015610927575f80fd5b506109306113b0565b60405161093d9190612fae565b60405180910390f35b348015610951575f80fd5b5061096c6004803603810190610967919061317a565b6113b5565b6040516109799190612fae565b60405180910390f35b34801561098d575f80fd5b50610996611437565b6040516109a39190612fae565b60405180910390f35b3480156109b7575f80fd5b506109d260048036038101906109cd9190612fc7565b61143d565b005b3480156109df575f80fd5b506109e8611533565b6040516109f59190612fae565b60405180910390f35b606060038054610a0d906131e5565b80601f0160208091040260200160405190810160405280929190818152602001828054610a39906131e5565b8015610a845780601f10610a5b57610100808354040283529160200191610a84565b820191905f5260205f20905b815481529060010190602001808311610a6757829003601f168201915b5050505050905090565b5f610aa1610a9a611539565b8484611540565b6001905092915050565b601e81565b6013602052805f5260405f205f915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f600254905090565b600f5481565b5f610b0c848484611703565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610b53611539565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610bd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc990613285565b60405180910390fd5b610be685610bde611539565b858403611540565b60019150509392505050565b600d5481565b600c60029054906101000a900460ff1681565b5f6012905090565b5f610cb0610c1f611539565b848460015f610c2c611539565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610cab91906132d0565b611540565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600c5f9054906101000a900460ff1681565b5f60125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600481565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610d94611539565b73ffffffffffffffffffffffffffffffffffffffff16610db261104e565b73ffffffffffffffffffffffffffffffffffffffff1614610e08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dff9061334d565b60405180910390fd5b610e115f6125b7565b565b5f610e1c611539565b73ffffffffffffffffffffffffffffffffffffffff16610e3a61104e565b73ffffffffffffffffffffffffffffffffffffffff1614610e90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e879061334d565b60405180910390fd5b5f600c5f6101000a81548160ff0219169083151502179055506001905090565b610eb8611539565b73ffffffffffffffffffffffffffffffffffffffff16610ed661104e565b73ffffffffffffffffffffffffffffffffffffffff1614610f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f239061334d565b60405180910390fd5b8060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600281565b610fb6611539565b73ffffffffffffffffffffffffffffffffffffffff16610fd461104e565b73ffffffffffffffffffffffffffffffffffffffff161461102a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110219061334d565b60405180910390fd5b6001600c60016101000a81548160ff02191690831515021790555043600681905550565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600481565b6060600480546110af906131e5565b80601f01602080910402602001604051908101604052809291908181526020018280546110db906131e5565b80156111265780601f106110fd57610100808354040283529160200191611126565b820191905f5260205f20905b81548152906001019060200180831161110957829003601f168201915b5050505050905090565b5f81565b60105481565b5f81565b5f8060015f61114b611539565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fc906133db565b60405180910390fd5b611219611210611539565b85858403611540565b600191505092915050565b5f611237611230611539565b8484611703565b6001905092915050565b6014602052805f5260405f205f915054906101000a900460ff1681565b600c60019054906101000a900460ff1681565b611279611539565b73ffffffffffffffffffffffffffffffffffffffff1661129761104e565b73ffffffffffffffffffffffffffffffffffffffff16146112ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e49061334d565b60405180910390fd5b8060125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516113879190612f86565b60405180910390a25050565b600e5f9054906101000a900460ff1681565b60095481565b601981565b600281565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600a5481565b611445611539565b73ffffffffffffffffffffffffffffffffffffffff1661146361104e565b73ffffffffffffffffffffffffffffffffffffffff16146114b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b09061334d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151e90613469565b60405180910390fd5b611530816125b7565b50565b600b5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a5906134f7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361161c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161390613585565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116f69190612fae565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611771576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176890613613565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d6906136a1565b60405180910390fd5b5f81036117f6576117f183835f61267a565b6125b2565b600c5f9054906101000a900460ff1615611cd95761181261104e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611880575061185061104e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118b857505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118f2575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561190a575060115f9054906101000a900460ff16155b15611cd857600c60019054906101000a900460ff166119fe5760125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806119be575060125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6119fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f490613709565b60405180910390fd5b5b60145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611a9b575060135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b4257600954811115611ae5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611adc90613797565b60405180910390fd5b600b54611af183610d47565b82611afc91906132d0565b1115611b3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b34906137ff565b60405180910390fd5b611cd7565b60145f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611bdf575060135f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611c2e57600954811115611c29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c209061388d565b60405180910390fd5b611cd6565b60135f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611cd557600b54611c8883610d47565b82611c9391906132d0565b1115611cd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ccb906137ff565b60405180910390fd5b5b5b5b5b5b60125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611d74575060125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b8015611dac57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611de457503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611df157426015819055505b60125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611e95575060125f611e4d61104e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611eaa57611ea5838383612881565b6125b2565b60125f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611f48575060125f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156120595760145f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612003575f60165f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f209050601554815f0154611fec91906138ab565b816002018190555042816001018190555050612058565b5f60165f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f815f0154036120565742815f01819055505b505b5b5f61206330610d47565b90505f600a60065461207591906132d0565b431090505f82600a541115905080801561208d575081155b80156120a5575060115f9054906101000a900460ff16155b80156120f8575060145f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561214b575060125f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561219e575060125f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156121df57600160115f6101000a81548160ff0219169083151502179055506121c56129d7565b5f60115f6101000a81548160ff0219169083151502179055505b5f60115f9054906101000a900460ff1615905060125f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061228d575060125f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15612296575f90505b5f81156125a157836124725760145f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156122f857505f6002115b1561238957606460028761230c91906138de565b612316919061394c565b90506123376002808361232991906138de565b612ba190919063ffffffff16565b600f5f82825461234791906132d0565b9250508190555061236d60025f8361235f91906138de565b612ba190919063ffffffff16565b60105f82825461237d91906132d0565b9250508190555061246d565b60145f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156123df57505f6004115b1561246c5760646004876123f391906138de565b6123fd919061394c565b905061241e6004808361241091906138de565b612ba190919063ffffffff16565b600f5f82825461242e91906132d0565b9250508190555061245460045f8361244691906138de565b612ba190919063ffffffff16565b60105f82825461246491906132d0565b925050819055505b5b61257e565b60145f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156124f95760646019876124d091906138de565b6124da919061394c565b905080600f5f8282546124ed91906132d0565b9250508190555061257d565b60145f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561257c576064601e8761255791906138de565b612561919061394c565b905080600f5f82825461257491906132d0565b925050819055505b5b5b5f8111156125925761259188308361267a565b5b808661259e91906138ab565b95505b6125ac88888861267a565b50505050505b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036126e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126df90613613565b60405180910390fd5b6126f3838383612bb6565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612776576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276d906139ec565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461280491906132d0565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516128689190612fae565b60405180910390a361287b848484612bbb565b50505050565b61288c838383612bb6565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461295a91906132d0565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516129be9190612fae565b60405180910390a36129d1848484612bbb565b50505050565b5f6129e130610d47565b90505f601054600f546129f491906132d0565b90505f80831480612a0457505f82145b15612a1157505050612b9f565b6012600a54612a2091906138de565b831115612a39576012600a54612a3691906138de565b92505b5f8390505f479050612a4a82612bc0565b5f8147612a5791906138ab565b90505f8560105483612a6991906138de565b612a73919061394c565b90505f600f819055505f60108190555060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681604051612ac890613a37565b5f6040518083038185875af1925050503d805f8114612b02576040519150601f19603f3d011682016040523d82523d5f602084013e612b07565b606091505b50508095505060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612b5290613a37565b5f6040518083038185875af1925050503d805f8114612b8c576040519150601f19603f3d011682016040523d82523d5f602084013e612b91565b606091505b505080955050505050505050505b565b5f8183612bae919061394c565b905092915050565b505050565b505050565b5f600267ffffffffffffffff811115612bdc57612bdb613a4b565b5b604051908082528060200260200182016040528015612c0a5781602001602082028036833780820191505090505b50905030815f81518110612c2157612c20613a78565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cc4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ce89190613ab9565b81600181518110612cfc57612cfb613a78565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612d61307f000000000000000000000000000000000000000000000000000000000000000084611540565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612dc2959493929190613bd4565b5f604051808303815f87803b158015612dd9575f80fd5b505af1158015612deb573d5f803e3d5ffd5b505050505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612e2a578082015181840152602081019050612e0f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612e4f82612df3565b612e598185612dfd565b9350612e69818560208601612e0d565b612e7281612e35565b840191505092915050565b5f6020820190508181035f830152612e958184612e45565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612eca82612ea1565b9050919050565b612eda81612ec0565b8114612ee4575f80fd5b50565b5f81359050612ef581612ed1565b92915050565b5f819050919050565b612f0d81612efb565b8114612f17575f80fd5b50565b5f81359050612f2881612f04565b92915050565b5f8060408385031215612f4457612f43612e9d565b5b5f612f5185828601612ee7565b9250506020612f6285828601612f1a565b9150509250929050565b5f8115159050919050565b612f8081612f6c565b82525050565b5f602082019050612f995f830184612f77565b92915050565b612fa881612efb565b82525050565b5f602082019050612fc15f830184612f9f565b92915050565b5f60208284031215612fdc57612fdb612e9d565b5b5f612fe984828501612ee7565b91505092915050565b5f819050919050565b5f61301561301061300b84612ea1565b612ff2565b612ea1565b9050919050565b5f61302682612ffb565b9050919050565b5f6130378261301c565b9050919050565b6130478161302d565b82525050565b5f6020820190506130605f83018461303e565b92915050565b5f805f6060848603121561307d5761307c612e9d565b5b5f61308a86828701612ee7565b935050602061309b86828701612ee7565b92505060406130ac86828701612f1a565b9150509250925092565b5f60ff82169050919050565b6130cb816130b6565b82525050565b5f6020820190506130e45f8301846130c2565b92915050565b6130f381612ec0565b82525050565b5f60208201905061310c5f8301846130ea565b92915050565b61311b81612f6c565b8114613125575f80fd5b50565b5f8135905061313681613112565b92915050565b5f806040838503121561315257613151612e9d565b5b5f61315f85828601612ee7565b925050602061317085828601613128565b9150509250929050565b5f80604083850312156131905761318f612e9d565b5b5f61319d85828601612ee7565b92505060206131ae85828601612ee7565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806131fc57607f821691505b60208210810361320f5761320e6131b8565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f61326f602883612dfd565b915061327a82613215565b604082019050919050565b5f6020820190508181035f83015261329c81613263565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6132da82612efb565b91506132e583612efb565b92508282019050808211156132fd576132fc6132a3565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613337602083612dfd565b915061334282613303565b602082019050919050565b5f6020820190508181035f8301526133648161332b565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6133c5602583612dfd565b91506133d08261336b565b604082019050919050565b5f6020820190508181035f8301526133f2816133b9565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613453602683612dfd565b915061345e826133f9565b604082019050919050565b5f6020820190508181035f83015261348081613447565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6134e1602483612dfd565b91506134ec82613487565b604082019050919050565b5f6020820190508181035f83015261350e816134d5565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61356f602283612dfd565b915061357a82613515565b604082019050919050565b5f6020820190508181035f83015261359c81613563565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6135fd602583612dfd565b9150613608826135a3565b604082019050919050565b5f6020820190508181035f83015261362a816135f1565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61368b602383612dfd565b915061369682613631565b604082019050919050565b5f6020820190508181035f8301526136b88161367f565b9050919050565b7f54726164696e67206973206e6f742061637469766500000000000000000000005f82015250565b5f6136f3601583612dfd565b91506136fe826136bf565b602082019050919050565b5f6020820190508181035f830152613720816136e7565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e74000000000000000000000000602082015250565b5f613781603483612dfd565b915061378c82613727565b604082019050919050565b5f6020820190508181035f8301526137ae81613775565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f6137e9601383612dfd565b91506137f4826137b5565b602082019050919050565b5f6020820190508181035f830152613816816137dd565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e740000000000000000000000602082015250565b5f613877603583612dfd565b91506138828261381d565b604082019050919050565b5f6020820190508181035f8301526138a48161386b565b9050919050565b5f6138b582612efb565b91506138c083612efb565b92508282039050818111156138d8576138d76132a3565b5b92915050565b5f6138e882612efb565b91506138f383612efb565b925082820261390181612efb565b91508282048414831517613918576139176132a3565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61395682612efb565b915061396183612efb565b9250826139715761397061391f565b5b828204905092915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6139d6602683612dfd565b91506139e18261397c565b604082019050919050565b5f6020820190508181035f830152613a03816139ca565b9050919050565b5f81905092915050565b50565b5f613a225f83613a0a565b9150613a2d82613a14565b5f82019050919050565b5f613a4182613a17565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050613ab381612ed1565b92915050565b5f60208284031215613ace57613acd612e9d565b5b5f613adb84828501613aa5565b91505092915050565b5f819050919050565b5f613b07613b02613afd84613ae4565b612ff2565b612efb565b9050919050565b613b1781613aed565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613b4f81612ec0565b82525050565b5f613b608383613b46565b60208301905092915050565b5f602082019050919050565b5f613b8282613b1d565b613b8c8185613b27565b9350613b9783613b37565b805f5b83811015613bc7578151613bae8882613b55565b9750613bb983613b6c565b925050600181019050613b9a565b5085935050505092915050565b5f60a082019050613be75f830188612f9f565b613bf46020830187613b0e565b8181036040830152613c068186613b78565b9050613c1560608301856130ea565b613c226080830184612f9f565b969550505050505056fea2646970667358221220a7461f1c817d23d2868345910cbc153dccf1ecd0956d8a89f1ebcfd01fe3240a64736f6c63430008150033