0x6080604052600436106100c5575f3560e01c80636ebcf6071161007e578063a9059cbb11610058578063a9059cbb14610302578063b2bdfa7b1461033e578063dd62ed3e14610368578063f2fde38b146103a457610105565b80636ebcf6071461026057806370a082311461029c57806395d89b41146102d857610105565b806306fdde0314610140578063095ea7b31461016a57806318160ddd146101a657806323b872dd146101d0578063313ce5671461020c5780633eaaf86b1461023657610105565b36610105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fc9061110c565b60405180910390fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101379061119a565b60405180910390fd5b34801561014b575f80fd5b506101546103cc565b6040516101619190611218565b60405180910390f35b348015610175575f80fd5b50610190600480360381019061018b91906112c9565b610458565b60405161019d9190611321565b60405180910390f35b3480156101b1575f80fd5b506101ba610609565b6040516101c79190611349565b60405180910390f35b3480156101db575f80fd5b506101f660048036038101906101f19190611362565b610612565b6040516102039190611321565b60405180910390f35b348015610217575f80fd5b50610220610a29565b60405161022d91906113cd565b60405180910390f35b348015610241575f80fd5b5061024a610a3b565b6040516102579190611349565b60405180910390f35b34801561026b575f80fd5b50610286600480360381019061028191906113e6565b610a41565b6040516102939190611349565b60405180910390f35b3480156102a7575f80fd5b506102c260048036038101906102bd91906113e6565b610a56565b6040516102cf9190611349565b60405180910390f35b3480156102e3575f80fd5b506102ec610a9c565b6040516102f99190611218565b60405180910390f35b34801561030d575f80fd5b50610328600480360381019061032391906112c9565b610b28565b6040516103359190611321565b60405180910390f35b348015610349575f80fd5b50610352610d7c565b60405161035f9190611420565b60405180910390f35b348015610373575f80fd5b5061038e60048036038101906103899190611439565b610d9f565b60405161039b9190611349565b60405180910390f35b3480156103af575f80fd5b506103ca60048036038101906103c591906113e6565b610e21565b005b600480546103d9906114a4565b80601f0160208091040260200160405190810160405280929190818152602001828054610405906114a4565b80156104505780601f1061042757610100808354040283529160200191610450565b820191905f5260205f20905b81548152906001019060200180831161043357829003601f168201915b505050505081565b5f808214806104de57505f60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054145b61051d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051490611544565b60405180910390fd5b8160025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516105f79190611349565b60405180910390a36001905092915050565b5f600354905090565b5f808211610655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064c906115d2565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156106d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cc9061163a565b60405180910390fd5b8160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610790576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610787906116a2565b60405180910390fd5b6107e08260015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610fd790919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506108718260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461103490919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061093d8260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461103490919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a169190611349565b60405180910390a3600190509392505050565b60065f9054906101000a900460ff1681565b60035481565b6001602052805f5260405f205f915090505481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60058054610aa9906114a4565b80601f0160208091040260200160405190810160405280929190818152602001828054610ad5906114a4565b8015610b205780601f10610af757610100808354040283529160200191610b20565b820191905f5260205f20905b815481529060010190602001808311610b0357829003601f168201915b505050505081565b5f808211610b6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b62906115d2565b60405180910390fd5b8160015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be29061163a565b60405180910390fd5b610c3b8260015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461103490919063ffffffff16565b60015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610ccc8260015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610fd790919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d6a9190611349565b60405180910390a36001905092915050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610eae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea59061170a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1390611772565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f808284610fe591906117bd565b90508381101561102a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110219061183a565b60405180910390fd5b8091505092915050565b5f82821115611078576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106f906118a2565b60405180910390fd5b818361108491906118c0565b905092915050565b5f82825260208201905092915050565b7f446972656374207061796d656e747320617265206e6f742061636365707465645f8201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b5f6110f660218361108c565b91506111018261109c565b604082019050919050565b5f6020820190508181035f830152611123816110ea565b9050919050565b7f596f7572207265717565737420646f6573206e6f74206d6174636820616e79205f8201527f66756e6374696f6e207369676e61747572652e00000000000000000000000000602082015250565b5f61118460338361108c565b915061118f8261112a565b604082019050919050565b5f6020820190508181035f8301526111b181611178565b9050919050565b5f81519050919050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6111ea826111b8565b6111f4818561108c565b93506112048185602086016111c2565b61120d816111d0565b840191505092915050565b5f6020820190508181035f83015261123081846111e0565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112658261123c565b9050919050565b6112758161125b565b811461127f575f80fd5b50565b5f813590506112908161126c565b92915050565b5f819050919050565b6112a881611296565b81146112b2575f80fd5b50565b5f813590506112c38161129f565b92915050565b5f80604083850312156112df576112de611238565b5b5f6112ec85828601611282565b92505060206112fd858286016112b5565b9150509250929050565b5f8115159050919050565b61131b81611307565b82525050565b5f6020820190506113345f830184611312565b92915050565b61134381611296565b82525050565b5f60208201905061135c5f83018461133a565b92915050565b5f805f6060848603121561137957611378611238565b5b5f61138686828701611282565b935050602061139786828701611282565b92505060406113a8868287016112b5565b9150509250925092565b5f60ff82169050919050565b6113c7816113b2565b82525050565b5f6020820190506113e05f8301846113be565b92915050565b5f602082840312156113fb576113fa611238565b5b5f61140884828501611282565b91505092915050565b61141a8161125b565b82525050565b5f6020820190506114335f830184611411565b92915050565b5f806040838503121561144f5761144e611238565b5b5f61145c85828601611282565b925050602061146d85828601611282565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806114bb57607f821691505b6020821081036114ce576114cd611477565b5b50919050565b7f526573657420616c6c6f77616e636520746f207a65726f206265666f726520635f8201527f68616e67696e6720697400000000000000000000000000000000000000000000602082015250565b5f61152e602a8361108c565b9150611539826114d4565b604082019050919050565b5f6020820190508181035f83015261155b81611522565b9050919050565b7f5472616e736665722076616c7565206d757374206265206772656174657220745f8201527f68616e2030000000000000000000000000000000000000000000000000000000602082015250565b5f6115bc60258361108c565b91506115c782611562565b604082019050919050565b5f6020820190508181035f8301526115e9816115b0565b9050919050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f61162460148361108c565b915061162f826115f0565b602082019050919050565b5f6020820190508181035f83015261165181611618565b9050919050565b7f416c6c6f77616e636520657863656564656400000000000000000000000000005f82015250565b5f61168c60128361108c565b915061169782611658565b602082019050919050565b5f6020820190508181035f8301526116b981611680565b9050919050565b7f43616c6c6572206973206e6f7420746865206f776e65720000000000000000005f82015250565b5f6116f460178361108c565b91506116ff826116c0565b602082019050919050565b5f6020820190508181035f830152611721816116e8565b9050919050565b7f4e6577206f776e657220697320746865207a65726f20616464726573730000005f82015250565b5f61175c601d8361108c565b915061176782611728565b602082019050919050565b5f6020820190508181035f83015261178981611750565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6117c782611296565b91506117d283611296565b92508282019050808211156117ea576117e9611790565b5b92915050565b7f4164646974696f6e206f766572666c6f770000000000000000000000000000005f82015250565b5f61182460118361108c565b915061182f826117f0565b602082019050919050565b5f6020820190508181035f83015261185181611818565b9050919050565b7f5375627472616374696f6e206f766572666c6f770000000000000000000000005f82015250565b5f61188c60148361108c565b915061189782611858565b602082019050919050565b5f6020820190508181035f8301526118b981611880565b9050919050565b5f6118ca82611296565b91506118d583611296565b92508282039050818111156118ed576118ec611790565b5b9291505056fea2646970667358221220f29e995938a9b47d7e6c4609272d2449da9900a5f6b10006f0cae7edc5f1a57664736f6c634300081a0033
0x60806040526040518060400160405280600681526020017f547261746f6b00000000000000000000000000000000000000000000000000008152506004908161004891906103e3565b506040518060400160405280600481526020017f54524154000000000000000000000000000000000000000000000000000000008152506005908161008d91906103e3565b50600560065f6101000a81548160ff021916908360ff1602179055503480156100b4575f80fd5b50335f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065f9054906101000a900460ff16600a61010f919061061a565b64174876e80061011f9190610664565b60038190555060035460015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055507fa7a5b80bcd3bef76524ec80559f1ad1932344089b316a7be619ed23956b5ad6c6003543360405161019c9291906106f3565b60405180910390a161071a565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061022457607f821691505b602082108103610237576102366101e0565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026102997fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261025e565b6102a3868361025e565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6102e76102e26102dd846102bb565b6102c4565b6102bb565b9050919050565b5f819050919050565b610300836102cd565b61031461030c826102ee565b84845461026a565b825550505050565b5f90565b61032861031c565b6103338184846102f7565b505050565b5b818110156103565761034b5f82610320565b600181019050610339565b5050565b601f82111561039b5761036c8161023d565b6103758461024f565b81016020851015610384578190505b6103986103908561024f565b830182610338565b50505b505050565b5f82821c905092915050565b5f6103bb5f19846008026103a0565b1980831691505092915050565b5f6103d383836103ac565b9150826002028217905092915050565b6103ec826101a9565b67ffffffffffffffff811115610405576104046101b3565b5b61040f825461020d565b61041a82828561035a565b5f60209050601f83116001811461044b575f8415610439578287015190505b61044385826103c8565b8655506104aa565b601f1984166104598661023d565b5f5b828110156104805784890151825560018201915060208501945060208101905061045b565b8683101561049d5784890151610499601f8916826103ac565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115610534578086048111156105105761050f6104b2565b5b600185161561051f5780820291505b808102905061052d856104df565b94506104f4565b94509492505050565b5f8261054c5760019050610607565b81610559575f9050610607565b816001811461056f5760028114610579576105a8565b6001915050610607565b60ff84111561058b5761058a6104b2565b5b8360020a9150848211156105a2576105a16104b2565b5b50610607565b5060208310610133831016604e8410600b84101617156105dd5782820a9050838111156105d8576105d76104b2565b5b610607565b6105ea84848460016104eb565b92509050818404811115610601576106006104b2565b5b81810290505b9392505050565b5f60ff82169050919050565b5f610624826102bb565b915061062f8361060e565b925061065c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461053d565b905092915050565b5f61066e826102bb565b9150610679836102bb565b9250828202610687816102bb565b9150828204841483151761069e5761069d6104b2565b5b5092915050565b6106ae816102bb565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6106dd826106b4565b9050919050565b6106ed816106d3565b82525050565b5f6040820190506107065f8301856106a5565b61071360208301846106e4565b9392505050565b611929806107275f395ff3fe6080604052600436106100c5575f3560e01c80636ebcf6071161007e578063a9059cbb11610058578063a9059cbb14610302578063b2bdfa7b1461033e578063dd62ed3e14610368578063f2fde38b146103a457610105565b80636ebcf6071461026057806370a082311461029c57806395d89b41146102d857610105565b806306fdde0314610140578063095ea7b31461016a57806318160ddd146101a657806323b872dd146101d0578063313ce5671461020c5780633eaaf86b1461023657610105565b36610105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fc9061110c565b60405180910390fd5b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101379061119a565b60405180910390fd5b34801561014b575f80fd5b506101546103cc565b6040516101619190611218565b60405180910390f35b348015610175575f80fd5b50610190600480360381019061018b91906112c9565b610458565b60405161019d9190611321565b60405180910390f35b3480156101b1575f80fd5b506101ba610609565b6040516101c79190611349565b60405180910390f35b3480156101db575f80fd5b506101f660048036038101906101f19190611362565b610612565b6040516102039190611321565b60405180910390f35b348015610217575f80fd5b50610220610a29565b60405161022d91906113cd565b60405180910390f35b348015610241575f80fd5b5061024a610a3b565b6040516102579190611349565b60405180910390f35b34801561026b575f80fd5b50610286600480360381019061028191906113e6565b610a41565b6040516102939190611349565b60405180910390f35b3480156102a7575f80fd5b506102c260048036038101906102bd91906113e6565b610a56565b6040516102cf9190611349565b60405180910390f35b3480156102e3575f80fd5b506102ec610a9c565b6040516102f99190611218565b60405180910390f35b34801561030d575f80fd5b50610328600480360381019061032391906112c9565b610b28565b6040516103359190611321565b60405180910390f35b348015610349575f80fd5b50610352610d7c565b60405161035f9190611420565b60405180910390f35b348015610373575f80fd5b5061038e60048036038101906103899190611439565b610d9f565b60405161039b9190611349565b60405180910390f35b3480156103af575f80fd5b506103ca60048036038101906103c591906113e6565b610e21565b005b600480546103d9906114a4565b80601f0160208091040260200160405190810160405280929190818152602001828054610405906114a4565b80156104505780601f1061042757610100808354040283529160200191610450565b820191905f5260205f20905b81548152906001019060200180831161043357829003601f168201915b505050505081565b5f808214806104de57505f60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054145b61051d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051490611544565b60405180910390fd5b8160025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516105f79190611349565b60405180910390a36001905092915050565b5f600354905090565b5f808211610655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064c906115d2565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156106d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cc9061163a565b60405180910390fd5b8160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610790576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610787906116a2565b60405180910390fd5b6107e08260015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610fd790919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506108718260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461103490919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061093d8260025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461103490919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a169190611349565b60405180910390a3600190509392505050565b60065f9054906101000a900460ff1681565b60035481565b6001602052805f5260405f205f915090505481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60058054610aa9906114a4565b80601f0160208091040260200160405190810160405280929190818152602001828054610ad5906114a4565b8015610b205780601f10610af757610100808354040283529160200191610b20565b820191905f5260205f20905b815481529060010190602001808311610b0357829003601f168201915b505050505081565b5f808211610b6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b62906115d2565b60405180910390fd5b8160015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be29061163a565b60405180910390fd5b610c3b8260015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461103490919063ffffffff16565b60015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610ccc8260015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610fd790919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d6a9190611349565b60405180910390a36001905092915050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610eae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea59061170a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1390611772565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f808284610fe591906117bd565b90508381101561102a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110219061183a565b60405180910390fd5b8091505092915050565b5f82821115611078576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106f906118a2565b60405180910390fd5b818361108491906118c0565b905092915050565b5f82825260208201905092915050565b7f446972656374207061796d656e747320617265206e6f742061636365707465645f8201527f2e00000000000000000000000000000000000000000000000000000000000000602082015250565b5f6110f660218361108c565b91506111018261109c565b604082019050919050565b5f6020820190508181035f830152611123816110ea565b9050919050565b7f596f7572207265717565737420646f6573206e6f74206d6174636820616e79205f8201527f66756e6374696f6e207369676e61747572652e00000000000000000000000000602082015250565b5f61118460338361108c565b915061118f8261112a565b604082019050919050565b5f6020820190508181035f8301526111b181611178565b9050919050565b5f81519050919050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6111ea826111b8565b6111f4818561108c565b93506112048185602086016111c2565b61120d816111d0565b840191505092915050565b5f6020820190508181035f83015261123081846111e0565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112658261123c565b9050919050565b6112758161125b565b811461127f575f80fd5b50565b5f813590506112908161126c565b92915050565b5f819050919050565b6112a881611296565b81146112b2575f80fd5b50565b5f813590506112c38161129f565b92915050565b5f80604083850312156112df576112de611238565b5b5f6112ec85828601611282565b92505060206112fd858286016112b5565b9150509250929050565b5f8115159050919050565b61131b81611307565b82525050565b5f6020820190506113345f830184611312565b92915050565b61134381611296565b82525050565b5f60208201905061135c5f83018461133a565b92915050565b5f805f6060848603121561137957611378611238565b5b5f61138686828701611282565b935050602061139786828701611282565b92505060406113a8868287016112b5565b9150509250925092565b5f60ff82169050919050565b6113c7816113b2565b82525050565b5f6020820190506113e05f8301846113be565b92915050565b5f602082840312156113fb576113fa611238565b5b5f61140884828501611282565b91505092915050565b61141a8161125b565b82525050565b5f6020820190506114335f830184611411565b92915050565b5f806040838503121561144f5761144e611238565b5b5f61145c85828601611282565b925050602061146d85828601611282565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806114bb57607f821691505b6020821081036114ce576114cd611477565b5b50919050565b7f526573657420616c6c6f77616e636520746f207a65726f206265666f726520635f8201527f68616e67696e6720697400000000000000000000000000000000000000000000602082015250565b5f61152e602a8361108c565b9150611539826114d4565b604082019050919050565b5f6020820190508181035f83015261155b81611522565b9050919050565b7f5472616e736665722076616c7565206d757374206265206772656174657220745f8201527f68616e2030000000000000000000000000000000000000000000000000000000602082015250565b5f6115bc60258361108c565b91506115c782611562565b604082019050919050565b5f6020820190508181035f8301526115e9816115b0565b9050919050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f61162460148361108c565b915061162f826115f0565b602082019050919050565b5f6020820190508181035f83015261165181611618565b9050919050565b7f416c6c6f77616e636520657863656564656400000000000000000000000000005f82015250565b5f61168c60128361108c565b915061169782611658565b602082019050919050565b5f6020820190508181035f8301526116b981611680565b9050919050565b7f43616c6c6572206973206e6f7420746865206f776e65720000000000000000005f82015250565b5f6116f460178361108c565b91506116ff826116c0565b602082019050919050565b5f6020820190508181035f830152611721816116e8565b9050919050565b7f4e6577206f776e657220697320746865207a65726f20616464726573730000005f82015250565b5f61175c601d8361108c565b915061176782611728565b602082019050919050565b5f6020820190508181035f83015261178981611750565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6117c782611296565b91506117d283611296565b92508282019050808211156117ea576117e9611790565b5b92915050565b7f4164646974696f6e206f766572666c6f770000000000000000000000000000005f82015250565b5f61182460118361108c565b915061182f826117f0565b602082019050919050565b5f6020820190508181035f83015261185181611818565b9050919050565b7f5375627472616374696f6e206f766572666c6f770000000000000000000000005f82015250565b5f61188c60148361108c565b915061189782611858565b602082019050919050565b5f6020820190508181035f8301526118b981611880565b9050919050565b5f6118ca82611296565b91506118d583611296565b92508282039050818111156118ed576118ec611790565b5b9291505056fea2646970667358221220f29e995938a9b47d7e6c4609272d2449da9900a5f6b10006f0cae7edc5f1a57664736f6c634300081a0033