606060405260006004556000600560006101000a81548160ff021916908315150217905550341561002f57600080fd5b604051602080611ca2833981016040528080519060200190919050505b5b33600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6a3e09de2596099e2b0000006000819055506100ce6a10dfde374787bc6e00000060045461012a64010000000002611aff179091906401000000009004565b6004819055506a10dfde374787bc6e000000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b50610149565b600080828401905083811015151561013e57fe5b8091505b5092915050565b611b4a806101586000396000f30060606040523615610105576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b1461010a57806306fdde0314610137578063095ea7b3146101c657806318160ddd1461022057806323b872dd14610249578063313ce567146102c25780633badca25146102f157806340c10f19146103a357806366188463146103fd5780636de9f32b1461045757806370a08231146104805780637d64bcb4146104cd5780637f4e4669146104fa5780638da5cb5b1461053557806395d89b411461058a578063a9059cbb14610619578063d73dd62314610673578063dd62ed3e146106cd578063f2fde38b14610739575b600080fd5b341561011557600080fd5b61011d610772565b604051808215151515815260200191505060405180910390f35b341561014257600080fd5b61014a610785565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018b5780820151818401525b60208101905061016f565b50505050905090810190601f1680156101b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101d157600080fd5b610206600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506107be565b604051808215151515815260200191505060405180910390f35b341561022b57600080fd5b6102336108b1565b6040518082815260200191505060405180910390f35b341561025457600080fd5b6102a8600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506108b7565b604051808215151515815260200191505060405180910390f35b34156102cd57600080fd5b6102d5610c77565b604051808260ff1660ff16815260200191505060405180910390f35b34156102fc57600080fd5b61038960048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050610c7c565b604051808215151515815260200191505060405180910390f35b34156103ae57600080fd5b6103e3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610e5d565b604051808215151515815260200191505060405180910390f35b341561040857600080fd5b61043d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611064565b604051808215151515815260200191505060405180910390f35b341561046257600080fd5b61046a6112f6565b6040518082815260200191505060405180910390f35b341561048b57600080fd5b6104b7600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506112fc565b6040518082815260200191505060405180910390f35b34156104d857600080fd5b6104e0611346565b604051808215151515815260200191505060405180910390f35b341561050557600080fd5b61051b60048080359060200190919050506113f4565b604051808215151515815260200191505060405180910390f35b341561054057600080fd5b610548611482565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561059557600080fd5b61059d6114a8565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105de5780820151818401525b6020810190506105c2565b50505050905090810190601f16801561060b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561062457600080fd5b610659600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506114e1565b604051808215151515815260200191505060405180910390f35b341561067e57600080fd5b6106b3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611706565b604051808215151515815260200191505060405180910390f35b34156106d857600080fd5b610723600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611903565b6040518082815260200191505060405180910390f35b341561074457600080fd5b610770600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061198b565b005b600560009054906101000a900460ff1681565b6040805190810160405280600a81526020017f57616e6420546f6b656e0000000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b60005481565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156108f457600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561094257600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156109cd57600080fd5b610a1f82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ae590919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ab482600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aff90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b8682600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ae590919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190505b9392505050565b601281565b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cdb57600080fd5b60008451111515610ceb57600080fd5b82518451141515610cfb57600080fd5b600090505b8351811015610e505760008482815181101515610d1957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614151515610d4657600080fd5b60008382815181101515610d5657fe5b90602001906020020151111515610d6c57600080fd5b610dae8482815181101515610d7d57fe5b90602001906020020151670de0b6b3a76400008584815181101515610d9e57fe5b90602001906020020151026114e1565b508381815181101515610dbd57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f6356443ec7214b891be14271c618607a5499d1677eb241e3e3b6ba06e261f9e38584815181101515610e2357fe5b906020019060200201516040518082815260200191505060405180910390a35b8080600101915050610d00565b600191505b5b5092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ebb57600080fd5b600560009054906101000a900460ff16151515610ed757600080fd5b670de0b6b3a764000082029150600054610efc83600454611aff90919063ffffffff16565b11151515610f0957600080fd5b610f1e82600454611aff90919063ffffffff16565b600481905550610f7682600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aff90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190505b5b5b92915050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115611175576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611209565b6111888382611ae590919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505b5092915050565b60045481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113a457600080fd5b6001600560006101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a1600190505b5b90565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561145257600080fd5b611471670de0b6b3a76400008302600054611aff90919063ffffffff16565b600081905550600190505b5b919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600481526020017f57414e440000000000000000000000000000000000000000000000000000000081525081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561151e57600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561156c57600080fd5b6115be82600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ae590919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061165382600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aff90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190505b92915050565b600061179782600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aff90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600190505b92915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119e757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611a2357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b6000828211151515611af357fe5b81830390505b92915050565b6000808284019050838110151515611b1357fe5b8091505b50929150505600a165627a7a72305820ea0c1114977072564400b764a078409650168eb8058f7435b5950c29bc1682bb0029000000000000000000000000997f3b7ffc61170079a352203d9decf2a41d9c3a