60806040526012600a62000014919062000cfe565b66017e9d8602b40062000028919062000d4e565b60035562000058606462000049600260035462000a2e60201b90919060201c565b62000aae60201b90919060201c565b60045562000088606462000079600260035462000a2e60201b90919060201c565b62000aae60201b90919060201c565b6005555f600a556009600b556009600c555f600d555f600e55600e54600c54600a54600b54600d54620000bc919062000d98565b620000c8919062000d98565b620000d4919062000d98565b620000e0919062000d98565b600f556064601055606460115560646012556064601355601e6019556064601a555f601d60146101000a81548160ff0219169083151502179055506001601d60156101000a81548160ff0219169083151502179055506103e860416003546200014a919062000d4e565b62000156919062000dff565b601e5534801562000165575f80fd5b505f6200017762000aff60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001805f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d601b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000346573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200036c919062000e9b565b60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000416573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200043c919062000e9b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539660025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b81526004016200049992919062000edc565b6020604051808303815f875af1158015620004b6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004dc919062000e9b565b601d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503360145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073b2ccb92cd2cb010c4d658efd37e04396738d977360155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360175f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead60185f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060035460065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60035460405162000a20919062000f18565b60405180910390a36200107d565b5f80830362000a40575f905062000aa8565b5f828462000a4f919062000d4e565b905082848262000a60919062000dff565b1462000aa3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a9a9062000fb7565b60405180910390fd5b809150505b92915050565b5f62000af783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000b0660201b60201c565b905092915050565b5f33905090565b5f808311829062000b4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b4691906200105b565b60405180910390fd5b505f838562000b5f919062000dff565b9050809150509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000bf65780860481111562000bce5762000bcd62000b6c565b5b600185161562000bde5780820291505b808102905062000bee8562000b99565b945062000bae565b94509492505050565b5f8262000c10576001905062000ce2565b8162000c1f575f905062000ce2565b816001811462000c38576002811462000c435762000c79565b600191505062000ce2565b60ff84111562000c585762000c5762000b6c565b5b8360020a91508482111562000c725762000c7162000b6c565b5b5062000ce2565b5060208310610133831016604e8410600b841016171562000cb35782820a90508381111562000cad5762000cac62000b6c565b5b62000ce2565b62000cc2848484600162000ba5565b9250905081840481111562000cdc5762000cdb62000b6c565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f62000d0a8262000ce9565b915062000d178362000cf2565b925062000d467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000bff565b905092915050565b5f62000d5a8262000ce9565b915062000d678362000ce9565b925082820262000d778162000ce9565b9150828204841483151762000d915762000d9062000b6c565b5b5092915050565b5f62000da48262000ce9565b915062000db18362000ce9565b925082820190508082111562000dcc5762000dcb62000b6c565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000e0b8262000ce9565b915062000e188362000ce9565b92508262000e2b5762000e2a62000dd2565b5b828204905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000e658262000e3a565b9050919050565b62000e778162000e59565b811462000e82575f80fd5b50565b5f8151905062000e958162000e6c565b92915050565b5f6020828403121562000eb35762000eb262000e36565b5b5f62000ec28482850162000e85565b91505092915050565b62000ed68162000e59565b82525050565b5f60408201905062000ef15f83018562000ecb565b62000f00602083018462000ecb565b9392505050565b62000f128162000ce9565b82525050565b5f60208201905062000f2d5f83018462000f07565b92915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f62000f9f60218362000f33565b915062000fac8262000f43565b604082019050919050565b5f6020820190508181035f83015262000fd08162000f91565b9050919050565b5f81519050919050565b5f5b838110156200100057808201518184015260208101905062000fe3565b5f8484015250505050565b5f601f19601f8301169050919050565b5f620010278262000fd7565b62001033818562000f33565b93506200104581856020860162000fe1565b62001050816200100b565b840191505092915050565b5f6020820190508181035f8301526200107581846200101b565b905092915050565b613e16806200108b5f395ff3fe608060405260043610610207575f3560e01c806378109e5411610117578063a8aa1b311161009f578063cec10c111161006e578063cec10c1114610724578063dd62ed3e1461074c578063f2fde38b14610788578063f887ea40146107b0578063fc5482a6146107da5761020e565b8063a8aa1b311461067e578063a9059cbb146106a8578063b2bdfa7b146106e4578063c9567bf91461070e5761020e565b8063893d20e8116100e6578063893d20e8146105c25780638a4068dd146105ec5780638da5cb5b1461060257806395d89b411461062c578063992c58e4146106565761020e565b806378109e541461050a5780637d1db4a5146105345780638285ef911461055e5780638811c5701461059a5761020e565b806330c9a6a01161019a5780635d0044ca116101695780635d0044ca146104505780636ddd17131461047857806370a08231146104a2578063715018a6146104de578063751039fc146104f45761020e565b806330c9a6a014610384578063313ce567146103c057806355265669146103ea578063571ac8b0146104145761020e565b806318160ddd116101d657806318160ddd146102cc5780631df4ccfc146102f657806323b872dd146103205780632ad756721461035c5761020e565b80630445b6671461021257806306fdde031461023c57806308fd3d0514610266578063095ea7b3146102905761020e565b3661020e57005b5f80fd5b34801561021d575f80fd5b50610226610816565b6040516102339190612f6c565b60405180910390f35b348015610247575f80fd5b5061025061081c565b60405161025d919061300f565b60405180910390f35b348015610271575f80fd5b5061027a61083c565b6040516102879190613049565b60405180910390f35b34801561029b575f80fd5b506102b660048036038101906102b191906130ea565b61084f565b6040516102c39190613049565b60405180910390f35b3480156102d7575f80fd5b506102e061093c565b6040516102ed9190612f6c565b60405180910390f35b348015610301575f80fd5b5061030a610945565b6040516103179190612f6c565b60405180910390f35b34801561032b575f80fd5b5061034660048036038101906103419190613128565b61094b565b6040516103539190613049565b60405180910390f35b348015610367575f80fd5b50610382600480360381019061037d9190613178565b610b3e565b005b34801561038f575f80fd5b506103aa60048036038101906103a591906131ef565b610d19565b6040516103b79190612f6c565b60405180910390f35b3480156103cb575f80fd5b506103d4610d89565b6040516103e19190613235565b60405180910390f35b3480156103f5575f80fd5b506103fe610d91565b60405161040b9190612f6c565b60405180910390f35b34801561041f575f80fd5b5061043a6004803603810190610435919061324e565b610dd0565b6040516104479190613049565b60405180910390f35b34801561045b575f80fd5b50610476600480360381019061047191906131ef565b610e02565b005b348015610483575f80fd5b5061048c610ec7565b6040516104999190613049565b60405180910390f35b3480156104ad575f80fd5b506104c860048036038101906104c3919061324e565b610eda565b6040516104d59190612f6c565b60405180910390f35b3480156104e9575f80fd5b506104f2610f20565b005b3480156104ff575f80fd5b5061050861106e565b005b348015610515575f80fd5b5061051e611116565b60405161052b9190612f6c565b60405180910390f35b34801561053f575f80fd5b5061054861111c565b6040516105559190612f6c565b60405180910390f35b348015610569575f80fd5b50610584600480360381019061057f91906130ea565b611122565b6040516105919190613049565b60405180910390f35b3480156105a5575f80fd5b506105c060048036038101906105bb91906132a3565b6112b7565b005b3480156105cd575f80fd5b506105d6611370565b6040516105e391906132f0565b60405180910390f35b3480156105f7575f80fd5b5061060061137e565b005b34801561060d575f80fd5b506106166113e5565b60405161062391906132f0565b60405180910390f35b348015610637575f80fd5b5061064061140c565b60405161064d919061300f565b60405180910390f35b348015610661575f80fd5b5061067c60048036038101906106779190613309565b611449565b005b348015610689575f80fd5b506106926115b0565b60405161069f91906132f0565b60405180910390f35b3480156106b3575f80fd5b506106ce60048036038101906106c991906130ea565b6115d5565b6040516106db9190613049565b60405180910390f35b3480156106ef575f80fd5b506106f86115e9565b60405161070591906132f0565b60405180910390f35b348015610719575f80fd5b5061072261160c565b005b34801561072f575f80fd5b5061074a60048036038101906107459190613392565b6116d8565b005b348015610757575f80fd5b50610772600480360381019061076d91906133e2565b611786565b60405161077f9190612f6c565b60405180910390f35b348015610793575f80fd5b506107ae60048036038101906107a9919061324e565b611808565b005b3480156107bb575f80fd5b506107c46119c5565b6040516107d1919061347b565b60405180910390f35b3480156107e5575f80fd5b5061080060048036038101906107fb9190613494565b6119ea565b60405161080d9190613049565b60405180910390f35b601e5481565b60606040518060600160405280603f8152602001613da2603f9139905090565b601d60149054906101000a900460ff1681565b5f8160075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161092a9190612f6c565b60405180910390a36001905092915050565b5f600354905090565b600f5481565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205414610b2a57610aad826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e63650000000000000000000081525060075f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119fe9092919063ffffffff16565b60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b610b35848484611a60565b90509392505050565b610b46612097565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc99061351c565b60405180910390fd5b8460145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160185f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060175f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b5f610d82610d25610d91565b610d74610d656002610d57601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610eda565b61209e90919063ffffffff16565b8561209e90919063ffffffff16565b61211590919063ffffffff16565b9050919050565b5f6012905090565b5f610dcb610d9e5f610eda565b610dbd610dac61dead610eda565b60035461215e90919063ffffffff16565b61215e90919063ffffffff16565b905090565b5f610dfb827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61084f565b9050919050565b610e0a612097565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8d9061351c565b60405180910390fd5b6001811015610ea3575f80fd5b6103e881600354610eb49190613567565b610ebe91906135d5565b60058190555050565b601d60159054906101000a900460ff1681565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610f28612097565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fab9061351c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611076612097565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611102576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f99061351c565b60405180910390fd5b600354600481905550600354600581905550565b60055481565b60045481565b5f3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611191576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118890613675565b60405180910390fd5b5f8203611213578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016111d191906132f0565b602060405180830381865afa1580156111ec573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061121091906136a7565b91505b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b815260040161126f9291906136d2565b6020604051808303815f875af115801561128b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112af919061370d565b905092915050565b6112bf612097565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461134b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113429061351c565b60405180910390fd5b81601d60156101000a81548160ff02191690831515021790555080601e819055505050565b5f6113796113e5565b905090565b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156113e2573d5f803e3d5ffd5b50565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600a81526020017f4d454d4553544f434b5300000000000000000000000000000000000000000000815250905090565b611451612097565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d49061351c565b60405180910390fd5b85600a8190555084600d8190555083600b8190555082600c8190555081600e819055506115498261153b8561152d8861151f8b8d6121a790919063ffffffff16565b6121a790919063ffffffff16565b6121a790919063ffffffff16565b6121a790919063ffffffff16565b600f8190555080601081905550600260105461156591906135d5565b600f54106115a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159f90613782565b60405180910390fd5b505050505050565b601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6115e1338484611a60565b905092915050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611614612097565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116979061351c565b60405180910390fd5b6001601d60146101000a81548160ff0219169083151502179055506103206011819055506101f4601281905550610320601381905550565b6116e0612097565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461176c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117639061351c565b60405180910390fd5b816011819055508260128190555080601381905550505050565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611810612097565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461189c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118939061351c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361190a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190190613810565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f826119f583610d19565b11905092915050565b5f838311158290611a45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3c919061300f565b60405180910390fd5b505f8385611a53919061382e565b9050809150509392505050565b5f601f5f9054906101000a900460ff1615611a8757611a80848484612204565b9050612090565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611b25575060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611b7a57601d60149054906101000a900460ff16611b79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b70906138ab565b60405180910390fd5b5b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611bfd57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611c37575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611c905750601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ce9575060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d42575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611d95575060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611df8575f611da484610eda565b90506005548382611db591906138c9565b1115611df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ded9061396c565b60405180910390fd5b505b611e0284836123ce565b611e0a612468565b15611e1857611e1761253a565b5b611e9f826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119fe9092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611f7c575060085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611f9057611f8b858486612b35565b611f92565b825b9050611fe48160065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121a790919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120829190612f6c565b60405180910390a360019150505b9392505050565b5f33905090565b5f8083036120ae575f905061210f565b5f82846120bb9190613567565b90508284826120ca91906135d5565b1461210a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612101906139fa565b60405180910390fd5b809150505b92915050565b5f61215683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612ef3565b905092915050565b5f61219f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506119fe565b905092915050565b5f8082846121b591906138c9565b9050838110156121fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f190613a62565b60405180910390fd5b8091505092915050565b5f61228c826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119fe9092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061231d8260065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121a790919063ffffffff16565b60065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516123bb9190612f6c565b60405180910390a3600190509392505050565b60045481111580612425575060095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245b90613aca565b60405180910390fd5b5050565b5f601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156124d25750601f5f9054906101000a900460ff16155b80156124ea5750601d60159054906101000a900460ff165b80156125355750601e5460065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410155b905090565b6001601f5f6101000a81548160ff0219169083151502179055505f612563601954601a546119ea565b61256f57600a54612571565b5f5b90505f6125b060026125a2600f5461259486601e5461209e90919063ffffffff16565b61211590919063ffffffff16565b61211590919063ffffffff16565b90505f6125c882601e5461215e90919063ffffffff16565b90505f600267ffffffffffffffff8111156125e6576125e5613ae8565b5b6040519080825280602002602001820160405280156126145781602001602082028036833780820191505090505b50905030815f8151811061262b5761262a613b15565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061269b5761269a613b15565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f479050601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8530426040518663ffffffff1660e01b815260040161273b959493929190613c32565b5f604051808303815f87803b158015612752575f80fd5b505af1158015612764573d5f803e3d5ffd5b505050505f61277c824761215e90919063ffffffff16565b90505f6127a761279660028961211590919063ffffffff16565b600f5461215e90919063ffffffff16565b90505f6127e260026127d4846127c68c8861209e90919063ffffffff16565b61211590919063ffffffff16565b61211590919063ffffffff16565b90505f61280c836127fe600b548761209e90919063ffffffff16565b61211590919063ffffffff16565b90505f61283684612828600d548861209e90919063ffffffff16565b61211590919063ffffffff16565b90505f61286085612852600c548961209e90919063ffffffff16565b61211590919063ffffffff16565b90505f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516128a890613cb7565b5f6040518083038185875af1925050503d805f81146128e2576040519150601f19603f3d011682016040523d82523d5f602084013e6128e7565b606091505b5050905060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161293090613cb7565b5f6040518083038185875af1925050503d805f811461296a576040519150601f19603f3d011682016040523d82523d5f602084013e61296f565b606091505b50508091505060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16836040516129ba90613cb7565b5f6040518083038185875af1925050503d805f81146129f4576040519150601f19603f3d011682016040523d82523d5f602084013e6129f9565b606091505b5050809150505f90505f8b1115612b0e57601b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71986308e5f8060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612a9096959493929190613ccb565b60606040518083038185885af1158015612aac573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190612ad19190613d2a565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506858c604051612b05929190613d7a565b60405180910390a15b5050505050505050505050505f601f5f6101000a81548160ff021916908315150217905550565b5f806013549050601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612b9a576011549050612bf5565b601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603612bf45760125490505b5b5f612c3d6064601054612c089190613567565b612c2f84612c21600f548a61209e90919063ffffffff16565b61209e90919063ffffffff16565b61211590919063ffffffff16565b90505f612c69600f54612c5b600e548561209e90919063ffffffff16565b61211590919063ffffffff16565b90505f612c7f828461215e90919063ffffffff16565b9050612cd18160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121a790919063ffffffff16565b60065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550612d838260065f60185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121a790919063ffffffff16565b60065f60185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612e429190612f6c565b60405180910390a35f821115612ed357612e678260035461215e90919063ffffffff16565b6003819055505f73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612eca9190612f6c565b60405180910390a35b612ee6838861215e90919063ffffffff16565b9450505050509392505050565b5f8083118290612f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f30919061300f565b60405180910390fd5b505f8385612f4791906135d5565b9050809150509392505050565b5f819050919050565b612f6681612f54565b82525050565b5f602082019050612f7f5f830184612f5d565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612fbc578082015181840152602081019050612fa1565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612fe182612f85565b612feb8185612f8f565b9350612ffb818560208601612f9f565b61300481612fc7565b840191505092915050565b5f6020820190508181035f8301526130278184612fd7565b905092915050565b5f8115159050919050565b6130438161302f565b82525050565b5f60208201905061305c5f83018461303a565b92915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61308f82613066565b9050919050565b61309f81613085565b81146130a9575f80fd5b50565b5f813590506130ba81613096565b92915050565b6130c981612f54565b81146130d3575f80fd5b50565b5f813590506130e4816130c0565b92915050565b5f8060408385031215613100576130ff613062565b5b5f61310d858286016130ac565b925050602061311e858286016130d6565b9150509250929050565b5f805f6060848603121561313f5761313e613062565b5b5f61314c868287016130ac565b935050602061315d868287016130ac565b925050604061316e868287016130d6565b9150509250925092565b5f805f805f60a0868803121561319157613190613062565b5b5f61319e888289016130ac565b95505060206131af888289016130ac565b94505060406131c0888289016130ac565b93505060606131d1888289016130ac565b92505060806131e2888289016130ac565b9150509295509295909350565b5f6020828403121561320457613203613062565b5b5f613211848285016130d6565b91505092915050565b5f60ff82169050919050565b61322f8161321a565b82525050565b5f6020820190506132485f830184613226565b92915050565b5f6020828403121561326357613262613062565b5b5f613270848285016130ac565b91505092915050565b6132828161302f565b811461328c575f80fd5b50565b5f8135905061329d81613279565b92915050565b5f80604083850312156132b9576132b8613062565b5b5f6132c68582860161328f565b92505060206132d7858286016130d6565b9150509250929050565b6132ea81613085565b82525050565b5f6020820190506133035f8301846132e1565b92915050565b5f805f805f8060c0878903121561332357613322613062565b5b5f61333089828a016130d6565b965050602061334189828a016130d6565b955050604061335289828a016130d6565b945050606061336389828a016130d6565b935050608061337489828a016130d6565b92505060a061338589828a016130d6565b9150509295509295509295565b5f805f606084860312156133a9576133a8613062565b5b5f6133b6868287016130d6565b93505060206133c7868287016130d6565b92505060406133d8868287016130d6565b9150509250925092565b5f80604083850312156133f8576133f7613062565b5b5f613405858286016130ac565b9250506020613416858286016130ac565b9150509250929050565b5f819050919050565b5f61344361343e61343984613066565b613420565b613066565b9050919050565b5f61345482613429565b9050919050565b5f6134658261344a565b9050919050565b6134758161345b565b82525050565b5f60208201905061348e5f83018461346c565b92915050565b5f80604083850312156134aa576134a9613062565b5b5f6134b7858286016130d6565b92505060206134c8858286016130d6565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613506602083612f8f565b9150613511826134d2565b602082019050919050565b5f6020820190508181035f830152613533816134fa565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61357182612f54565b915061357c83612f54565b925082820261358a81612f54565b915082820484148315176135a1576135a061353a565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6135df82612f54565b91506135ea83612f54565b9250826135fa576135f96135a8565b5b828204905092915050565b7f746f6b656e416464726573732063616e206e6f7420626520746865206e6174695f8201527f766520746f6b656e000000000000000000000000000000000000000000000000602082015250565b5f61365f602883612f8f565b915061366a82613605565b604082019050919050565b5f6020820190508181035f83015261368c81613653565b9050919050565b5f815190506136a1816130c0565b92915050565b5f602082840312156136bc576136bb613062565b5b5f6136c984828501613693565b91505092915050565b5f6040820190506136e55f8301856132e1565b6136f26020830184612f5d565b9392505050565b5f8151905061370781613279565b92915050565b5f6020828403121561372257613721613062565b5b5f61372f848285016136f9565b91505092915050565b7f466565732063616e206e6f74206265206d6f7265207468616e203530250000005f82015250565b5f61376c601d83612f8f565b915061377782613738565b602082019050919050565b5f6020820190508181035f83015261379981613760565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6137fa602683612f8f565b9150613805826137a0565b604082019050919050565b5f6020820190508181035f830152613827816137ee565b9050919050565b5f61383882612f54565b915061384383612f54565b925082820390508181111561385b5761385a61353a565b5b92915050565b7f54726164696e67206e6f74206f70656e207965740000000000000000000000005f82015250565b5f613895601483612f8f565b91506138a082613861565b602082019050919050565b5f6020820190508181035f8301526138c281613889565b9050919050565b5f6138d382612f54565b91506138de83612f54565b92508282019050808211156138f6576138f561353a565b5b92915050565b7f546f74616c20486f6c64696e672069732063757272656e746c79206c696d69745f8201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e0000602082015250565b5f613956603e83612f8f565b9150613961826138fc565b604082019050919050565b5f6020820190508181035f8301526139838161394a565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6139e4602183612f8f565b91506139ef8261398a565b604082019050919050565b5f6020820190508181035f830152613a11816139d8565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613a4c601b83612f8f565b9150613a5782613a18565b602082019050919050565b5f6020820190508181035f830152613a7981613a40565b9050919050565b7f5458204c696d69742045786365656465640000000000000000000000000000005f82015250565b5f613ab4601183612f8f565b9150613abf82613a80565b602082019050919050565b5f6020820190508181035f830152613ae181613aa8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f613b65613b60613b5b84613b42565b613420565b612f54565b9050919050565b613b7581613b4b565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613bad81613085565b82525050565b5f613bbe8383613ba4565b60208301905092915050565b5f602082019050919050565b5f613be082613b7b565b613bea8185613b85565b9350613bf583613b95565b805f5b83811015613c25578151613c0c8882613bb3565b9750613c1783613bca565b925050600181019050613bf8565b5085935050505092915050565b5f60a082019050613c455f830188612f5d565b613c526020830187613b6c565b8181036040830152613c648186613bd6565b9050613c7360608301856132e1565b613c806080830184612f5d565b9695505050505050565b5f81905092915050565b50565b5f613ca25f83613c8a565b9150613cad82613c94565b5f82019050919050565b5f613cc182613c97565b9150819050919050565b5f60c082019050613cde5f8301896132e1565b613ceb6020830188612f5d565b613cf86040830187613b6c565b613d056060830186613b6c565b613d1260808301856132e1565b613d1f60a0830184612f5d565b979650505050505050565b5f805f60608486031215613d4157613d40613062565b5b5f613d4e86828701613693565b9350506020613d5f86828701613693565b9250506040613d7086828701613693565b9150509250925092565b5f604082019050613d8d5f830185612f5d565b613d9a6020830184612f5d565b939250505056fe47616d6553746f70444656526f6172696e674b69747479414d43526f62696e486f6f6457534250616e69634275794242425973717565657a65343230496e75a26469706673582212206fddafc3a82693c750047428887d5e5333ae42200bf3d3ae3ecb17e5614a7b9f64736f6c63430008150033