60806040526825f273933db57000006000196200001d919062000567565b6000196200002c919062000522565b600955604051806080016040528060008152602001600a815260200160008152602001600a815250600b600082015181600001556020820151816001015560408201518160020155606082015181600301555050600b60010154600b60000154620000989190620004c5565b600f55600b60030154600b60020154620000b39190620004c5565b601055600f6012556000601660156101000a81548160ff02191690831515021790555060006016806101000a81548160ff0219169083151502179055506000601660176101000a81548160ff0219169083151502179055506000601660186101000a81548160ff0219169083151502179055506825f273933db57000006017556825f273933db57000006018553480156200014d57600080fd5b506000620001606200046660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35072b5d6090398cb8541d4ebdb3500b6ee00ee4ed6601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060095460036000620002696200046660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160066000620002bd6200046e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003f06200046660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6825f273933db5700000604051620004589190620004a8565b60405180910390a3620005fd565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620004a2816200055d565b82525050565b6000602082019050620004bf600083018462000497565b92915050565b6000620004d2826200055d565b9150620004df836200055d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156200051757620005166200059f565b5b828201905092915050565b60006200052f826200055d565b91506200053c836200055d565b9250828210156200055257620005516200059f565b5b828203905092915050565b6000819050919050565b600062000574826200055d565b915062000581836200055d565b925082620005945762000593620005ce565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b613a3e806200060d6000396000f3fe6080604052600436106101395760003560e01c80636fc3eaec116100ab57806395d89b411161006f57806395d89b41146103e3578063a9059cbb1461040e578063b87f137a1461044b578063c3c8cd8014610474578063d16336491461048b578063dd62ed3e146104b457610140565b80636fc3eaec1461033657806370a082311461034d578063715018a61461038a578063751039fc146103a15780638da5cb5b146103b857610140565b806323b872dd116100fd57806323b872dd1461022a578063273123b714610267578063313ce5671461029057806345596e2e146102bb5780635932ead1146102e4578063677daa571461030d57610140565b806306fdde0314610145578063095ea7b31461017057806317e1df5b146101ad57806318160ddd146101d657806321bbcbb11461020157610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104f1565b60405161016791906131ea565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612cf3565b61052e565b6040516101a491906131cf565b60405180910390f35b3480156101b957600080fd5b506101d460048036038101906101cf9190612e56565b61054c565b005b3480156101e257600080fd5b506101eb610643565b6040516101f8919061332c565b60405180910390f35b34801561020d57600080fd5b5061022860048036038101906102239190612d33565b610654565b005b34801561023657600080fd5b50610251600480360381019061024c9190612ca0565b6108b6565b60405161025e91906131cf565b60405180910390f35b34801561027357600080fd5b5061028e60048036038101906102899190612c06565b61098f565b005b34801561029c57600080fd5b506102a5610a7f565b6040516102b291906133a1565b60405180910390f35b3480156102c757600080fd5b506102e260048036038101906102dd9190612dd6565b610a88565b005b3480156102f057600080fd5b5061030b60048036038101906103069190612d7c565b610b01565b005b34801561031957600080fd5b50610334600480360381019061032f9190612dd6565b610bb3565b005b34801561034257600080fd5b5061034b610c8d565b005b34801561035957600080fd5b50610374600480360381019061036f9190612c06565b610cff565b604051610381919061332c565b60405180910390f35b34801561039657600080fd5b5061039f610d50565b005b3480156103ad57600080fd5b506103b6610ea3565b005b3480156103c457600080fd5b506103cd610f5a565b6040516103da9190613101565b60405180910390f35b3480156103ef57600080fd5b506103f8610f83565b60405161040591906131ea565b60405180910390f35b34801561041a57600080fd5b5061043560048036038101906104309190612cf3565b610fc0565b60405161044291906131cf565b60405180910390f35b34801561045757600080fd5b50610472600480360381019061046d9190612dd6565b610fde565b005b34801561048057600080fd5b506104896110b8565b005b34801561049757600080fd5b506104b260048036038101906104ad9190612dd6565b611132565b005b3480156104c057600080fd5b506104db60048036038101906104d69190612c60565b611707565b6040516104e8919061332c565b60405180910390f35b60606040518060400160405280600a81526020017f447253746f6e65496e7500000000000000000000000000000000000000000000815250905090565b600061054261053b61178e565b8484611796565b6001905092915050565b61055461178e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d89061328c565b60405180910390fd5b600f5483856105f09190613462565b11156105fb57600080fd5b601054818361060a9190613462565b111561061557600080fd5b83600b6000018190555082600b6001018190555081600b6002018190555080600b6003018190555050505050565b60006825f273933db5700000905090565b61065c61178e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e09061328c565b60405180910390fd5b60005b81518110156108b2573073ffffffffffffffffffffffffffffffffffffffff1682828151811061071f5761071e6136e9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141580156107b35750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16828281518110610792576107916136e9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b80156108275750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16828281518110610806576108056136e9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b1561089f57600160076000848481518110610845576108446136e9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80806108aa90613642565b9150506106ec565b5050565b60006108c3848484611961565b610984846108cf61178e565b61097f856040518060600160405280602881526020016139e160289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061093561178e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461202a9092919063ffffffff16565b611796565b600190509392505050565b61099761178e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1b9061328c565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ac961178e565b73ffffffffffffffffffffffffffffffffffffffff1614610ae957600080fd5b6031811115610af757600080fd5b8060128190555050565b610b0961178e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8d9061328c565b60405180910390fd5b80601660176101000a81548160ff02191690831515021790555050565b610bbb61178e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3f9061328c565b60405180910390fd5b60008111610c5557600080fd5b610c846064610c76836825f273933db570000061208e90919063ffffffff16565b61210990919063ffffffff16565b60178190555050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cce61178e565b73ffffffffffffffffffffffffffffffffffffffff1614610cee57600080fd5b6000479050610cfc81612153565b50565b6000610d49600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121bf565b9050919050565b610d5861178e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610de5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddc9061328c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610eab61178e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2f9061328c565b60405180910390fd5b6825f273933db57000006017819055506825f273933db5700000601881905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600a81526020017f447253746f6e65496e7500000000000000000000000000000000000000000000815250905090565b6000610fd4610fcd61178e565b8484611961565b6001905092915050565b610fe661178e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611073576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106a9061328c565b60405180910390fd5b6000811161108057600080fd5b6110af60646110a1836825f273933db570000061208e90919063ffffffff16565b61210990919063ffffffff16565b60188190555050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110f961178e565b73ffffffffffffffffffffffffffffffffffffffff161461111957600080fd5b600061112430610cff565b905061112f8161222d565b50565b61113a61178e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111be9061328c565b60405180910390fd5b601660149054906101000a900460ff1615611217576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120e9061330c565b60405180910390fd5b600181111561122557600080fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506112b530601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166825f273933db5700000611796565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156112fb57600080fd5b505afa15801561130f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113339190612c33565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561139557600080fd5b505afa1580156113a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113cd9190612c33565b6040518363ffffffff1660e01b81526004016113ea92919061311c565b602060405180830381600087803b15801561140457600080fd5b505af1158015611418573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143c9190612c33565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306114c530610cff565b6000806114d0610f5a565b426040518863ffffffff1660e01b81526004016114f29695949392919061316e565b6060604051808303818588803b15801561150b57600080fd5b505af115801561151f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906115449190612e03565b50505060016016806101000a81548160ff0219169083151502179055506001601660176101000a81548160ff0219169083151502179055506115ac606461159e60026825f273933db570000061208e90919063ffffffff16565b61210990919063ffffffff16565b6017819055506115e260646115d460036825f273933db570000061208e90919063ffffffff16565b61210990919063ffffffff16565b6018819055506001601660146101000a81548160ff0219169083151502179055508160148190555043601381905550601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016116b0929190613145565b602060405180830381600087803b1580156116ca57600080fd5b505af11580156116de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117029190612da9565b505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611806576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117fd906132ec565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611876576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186d9061322c565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611954919061332c565b60405180910390a3505050565b600081116119a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199b906132ac565b60405180910390fd5b6001601660186101000a81548160ff0219169083151502179055506119c7610f5a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a355750611a05610f5a565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561201a57601454601354611a4a9190613462565b4311158015611aa75750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611b015750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611b5f576001600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611c0a5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611c605750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611c785750601660179054906101000a900460ff165b15611ce557601754811115611c8c57600080fd5b60185481611c9984610cff565b611ca39190613462565b1115611ce4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cdb906132cc565b60405180910390fd5b5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611d8d5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611de65750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15611eb457600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611e8f5750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611e9857600080fd5b6000601660186101000a81548160ff0219169083151502179055505b6000611ebf30610cff565b9050611f136064611f05601254611ef7601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610cff565b61208e90919063ffffffff16565b61210990919063ffffffff16565b811115611f6f57611f6c6064611f5e601254611f50601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610cff565b61208e90919063ffffffff16565b61210990919063ffffffff16565b90505b601660159054906101000a900460ff16158015611fda5750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611ff0575060168054906101000a900460ff165b1561201857611ffe8161222d565b600047905060008111156120165761201547612153565b5b505b505b6120258383836124b5565b505050565b6000838311158290612072576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206991906131ea565b60405180910390fd5b50600083856120819190613543565b9050809150509392505050565b6000808314156120a15760009050612103565b600082846120af91906134e9565b90508284826120be91906134b8565b146120fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f59061326c565b60405180910390fd5b809150505b92915050565b600061214b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124c5565b905092915050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156121bb573d6000803e3d6000fd5b5050565b6000600954821115612206576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121fd9061320c565b60405180910390fd5b6000612210612528565b9050612225818461210990919063ffffffff16565b915050919050565b6001601660156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561226557612264613718565b5b6040519080825280602002602001820160405280156122935781602001602082028036833780820191505090505b50905030816000815181106122ab576122aa6136e9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561234d57600080fd5b505afa158015612361573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123859190612c33565b81600181518110612399576123986136e9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061240030601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611796565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612464959493929190613347565b600060405180830381600087803b15801561247e57600080fd5b505af1158015612492573d6000803e3d6000fd5b50505050506000601660156101000a81548160ff02191690831515021790555050565b6124c0838383612553565b505050565b6000808311829061250c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250391906131ea565b60405180910390fd5b506000838561251b91906134b8565b9050809150509392505050565b600080600061253561271e565b9150915061254c818361210990919063ffffffff16565b9250505090565b60008060008060008061256587612780565b9550955095509550955095506125c386600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461281590919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061265885600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461285f90919063ffffffff16565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126a4816128bd565b6126ae848361297a565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161270b919061332c565b60405180910390a3505050505050505050565b6000806000600954905060006825f273933db570000090506127546825f273933db570000060095461210990919063ffffffff16565b821015612773576009546825f273933db570000093509350505061277c565b81819350935050505b9091565b60008060008060008060008060006127966129b4565b6127b4576127af8a600b60020154600b600301546129cb565b6127ca565b6127c98a600b60000154600b600101546129cb565b5b92509250925060006127da612528565b905060008060006127ed8e878787612a61565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061285783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061202a565b905092915050565b600080828461286e9190613462565b9050838110156128b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128aa9061324c565b60405180910390fd5b8091505092915050565b60006128c7612528565b905060006128de828461208e90919063ffffffff16565b905061293281600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461285f90919063ffffffff16565b600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61298f8260095461281590919063ffffffff16565b6009819055506129aa81600a5461285f90919063ffffffff16565b600a819055505050565b6000601660189054906101000a900460ff16905090565b6000806000806129f760646129e9888a61208e90919063ffffffff16565b61210990919063ffffffff16565b90506000612a216064612a13888b61208e90919063ffffffff16565b61210990919063ffffffff16565b90506000612a4a82612a3c858c61281590919063ffffffff16565b61281590919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612a7a858961208e90919063ffffffff16565b90506000612a91868961208e90919063ffffffff16565b90506000612aa8878961208e90919063ffffffff16565b90506000612ad182612ac3858761281590919063ffffffff16565b61281590919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000612afd612af8846133e1565b6133bc565b90508083825260208201905082856020860282011115612b2057612b1f61374c565b5b60005b85811015612b505781612b368882612b5a565b845260208401935060208301925050600181019050612b23565b5050509392505050565b600081359050612b698161399b565b92915050565b600081519050612b7e8161399b565b92915050565b600082601f830112612b9957612b98613747565b5b8135612ba9848260208601612aea565b91505092915050565b600081359050612bc1816139b2565b92915050565b600081519050612bd6816139b2565b92915050565b600081359050612beb816139c9565b92915050565b600081519050612c00816139c9565b92915050565b600060208284031215612c1c57612c1b613756565b5b6000612c2a84828501612b5a565b91505092915050565b600060208284031215612c4957612c48613756565b5b6000612c5784828501612b6f565b91505092915050565b60008060408385031215612c7757612c76613756565b5b6000612c8585828601612b5a565b9250506020612c9685828601612b5a565b9150509250929050565b600080600060608486031215612cb957612cb8613756565b5b6000612cc786828701612b5a565b9350506020612cd886828701612b5a565b9250506040612ce986828701612bdc565b9150509250925092565b60008060408385031215612d0a57612d09613756565b5b6000612d1885828601612b5a565b9250506020612d2985828601612bdc565b9150509250929050565b600060208284031215612d4957612d48613756565b5b600082013567ffffffffffffffff811115612d6757612d66613751565b5b612d7384828501612b84565b91505092915050565b600060208284031215612d9257612d91613756565b5b6000612da084828501612bb2565b91505092915050565b600060208284031215612dbf57612dbe613756565b5b6000612dcd84828501612bc7565b91505092915050565b600060208284031215612dec57612deb613756565b5b6000612dfa84828501612bdc565b91505092915050565b600080600060608486031215612e1c57612e1b613756565b5b6000612e2a86828701612bf1565b9350506020612e3b86828701612bf1565b9250506040612e4c86828701612bf1565b9150509250925092565b60008060008060808587031215612e7057612e6f613756565b5b6000612e7e87828801612bdc565b9450506020612e8f87828801612bdc565b9350506040612ea087828801612bdc565b9250506060612eb187828801612bdc565b91505092959194509250565b6000612ec98383612ed5565b60208301905092915050565b612ede81613577565b82525050565b612eed81613577565b82525050565b6000612efe8261341d565b612f088185613440565b9350612f138361340d565b8060005b83811015612f44578151612f2b8882612ebd565b9750612f3683613433565b925050600181019050612f17565b5085935050505092915050565b612f5a81613589565b82525050565b612f69816135cc565b82525050565b6000612f7a82613428565b612f848185613451565b9350612f948185602086016135de565b612f9d8161375b565b840191505092915050565b6000612fb5602a83613451565b9150612fc08261376c565b604082019050919050565b6000612fd8602283613451565b9150612fe3826137bb565b604082019050919050565b6000612ffb601b83613451565b91506130068261380a565b602082019050919050565b600061301e602183613451565b915061302982613833565b604082019050919050565b6000613041602083613451565b915061304c82613882565b602082019050919050565b6000613064602983613451565b915061306f826138ab565b604082019050919050565b6000613087601a83613451565b9150613092826138fa565b602082019050919050565b60006130aa602483613451565b91506130b582613923565b604082019050919050565b60006130cd601783613451565b91506130d882613972565b602082019050919050565b6130ec816135b5565b82525050565b6130fb816135bf565b82525050565b60006020820190506131166000830184612ee4565b92915050565b60006040820190506131316000830185612ee4565b61313e6020830184612ee4565b9392505050565b600060408201905061315a6000830185612ee4565b61316760208301846130e3565b9392505050565b600060c0820190506131836000830189612ee4565b61319060208301886130e3565b61319d6040830187612f60565b6131aa6060830186612f60565b6131b76080830185612ee4565b6131c460a08301846130e3565b979650505050505050565b60006020820190506131e46000830184612f51565b92915050565b600060208201905081810360008301526132048184612f6f565b905092915050565b6000602082019050818103600083015261322581612fa8565b9050919050565b6000602082019050818103600083015261324581612fcb565b9050919050565b6000602082019050818103600083015261326581612fee565b9050919050565b6000602082019050818103600083015261328581613011565b9050919050565b600060208201905081810360008301526132a581613034565b9050919050565b600060208201905081810360008301526132c581613057565b9050919050565b600060208201905081810360008301526132e58161307a565b9050919050565b600060208201905081810360008301526133058161309d565b9050919050565b60006020820190508181036000830152613325816130c0565b9050919050565b600060208201905061334160008301846130e3565b92915050565b600060a08201905061335c60008301886130e3565b6133696020830187612f60565b818103604083015261337b8186612ef3565b905061338a6060830185612ee4565b61339760808301846130e3565b9695505050505050565b60006020820190506133b660008301846130f2565b92915050565b60006133c66133d7565b90506133d28282613611565b919050565b6000604051905090565b600067ffffffffffffffff8211156133fc576133fb613718565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061346d826135b5565b9150613478836135b5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156134ad576134ac61368b565b5b828201905092915050565b60006134c3826135b5565b91506134ce836135b5565b9250826134de576134dd6136ba565b5b828204905092915050565b60006134f4826135b5565b91506134ff836135b5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156135385761353761368b565b5b828202905092915050565b600061354e826135b5565b9150613559836135b5565b92508282101561356c5761356b61368b565b5b828203905092915050565b600061358282613595565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006135d7826135b5565b9050919050565b60005b838110156135fc5780820151818401526020810190506135e1565b8381111561360b576000848401525b50505050565b61361a8261375b565b810181811067ffffffffffffffff8211171561363957613638613718565b5b80604052505050565b600061364d826135b5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156136805761367f61368b565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6139a481613577565b81146139af57600080fd5b50565b6139bb81613589565b81146139c657600080fd5b50565b6139d2816135b5565b81146139dd57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e0f4cf759689c8b22a5cb12c43b883f08b488a2dc2d4fc3cfcacd85fc63de91964736f6c63430008070033