60c06040526000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200005357600080fd5b50604051620035d4380380620035d4833981810160405260a08110156200007957600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050506040518060400160405280600981526020017f4c697175696e69747900000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f4c514e545900000000000000000000000000000000000000000000000000000081525081600390805190602001906200013692919062000b05565b5080600490805190602001906200014f92919062000b05565b506012600560006101000a81548160ff021916908360ff1602179055505050600062000180620004b560201b60201c565b905080600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200023e336c01431e0fae6d7217caa0000000620004bd60201b60201c565b8473ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200028557600080fd5b505afa1580156200029a573d6000803e3d6000fd5b505050506040513d6020811015620002b157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c65396308773ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200032557600080fd5b505afa1580156200033a573d6000803e3d6000fd5b505050506040513d60208110156200035157600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b158015620003cc57600080fd5b505af1158015620003e1573d6000803e3d6000fd5b505050506040513d6020811015620003f857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508473ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250506200048884846200069b60201b60201c565b6200049982620007f660201b60201c565b620004aa816200094e60201b60201c565b505050505062000bab565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000561576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b620005756000838362000a7760201b60201c565b620005918160025462000a7c60201b62001a581790919060201c565b600281905550620005ef816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462000a7c60201b62001a581790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b620006ab620004b560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146200076e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b81600660146101000a81548160ff021916908360ff16021790555080600660156101000a81548163ffffffff021916908363ffffffff1602179055507f460fa919625630f734b5d86356a2511f134b6df313c793ca09e0399de8d933a08282604051808360ff1681526020018263ffffffff1681526020019250505060405180910390a15050565b62000806620004b560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614620008c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600760006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055507fb20e0f86438dbd4812cee7b24a6696d4dbaa9d3db89c677e731ab7dd738c8bbe8160405180826fffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6200095e620004b560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000a21576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600d60016101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1598160405180821515815260200191505060405180910390a150565b505050565b60008082840190508381101562000afb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000b4857805160ff191683800117855562000b79565b8280016001018555821562000b79579182015b8281111562000b7857825182559160200191906001019062000b5b565b5b50905062000b88919062000b8c565b5090565b5b8082111562000ba757600081600090555060010162000b8d565b5090565b60805160601c60a05160601c6129e162000bf360003980610ebd5280611d47525080610b7752806124fc52806125e8528061260f528061271a528061274152506129e16000f3fe6080604052600436106101bb5760003560e01c80638da5cb5b116100ec578063a9059cbb1161008a578063eaa93e7811610064578063eaa93e78146109c0578063f2fde38b14610a0e578063f51d4df514610a5f578063ff7c479014610a8a576101c2565b8063a9059cbb1461089c578063cc0f17861461090d578063dd62ed3e1461093b576101c2565b80639f9a4e7f116100c65780639f9a4e7f14610751578063a001ecdd1461078e578063a3a49361146107bf578063a457c2d71461082b576101c2565b80638da5cb5b1461065557806391fe5a641461069657806395d89b41146106c1576101c2565b80633950935111610159578063689dc62d11610133578063689dc62d1461053357806370a08231146105ae578063715018a6146106135780637ede036d1461062a576101c2565b806339509351146104345780633a27b764146104a557806349bd5a5e146104f2576101c2565b806318160ddd1161019557806318160ddd1461030957806323b872dd1461033457806328d2bc91146103c5578063313ce56714610406576101c2565b806306fdde03146101c7578063095ea7b3146102575780631694505e146102c8576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc610ab5565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561021c578082015181840152602081019050610201565b50505050905090810190601f1680156102495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561026357600080fd5b506102b06004803603604081101561027a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b57565b60405180821515815260200191505060405180910390f35b3480156102d457600080fd5b506102dd610b75565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561031557600080fd5b5061031e610b99565b6040518082815260200191505060405180910390f35b34801561034057600080fd5b506103ad6004803603606081101561035757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ba3565b60405180821515815260200191505060405180910390f35b3480156103d157600080fd5b506103da610c7c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561041257600080fd5b5061041b610ca2565b604051808260ff16815260200191505060405180910390f35b34801561044057600080fd5b5061048d6004803603604081101561045757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cb9565b60405180821515815260200191505060405180910390f35b3480156104b157600080fd5b506104f0600480360360208110156104c857600080fd5b8101908080356fffffffffffffffffffffffffffffffff169060200190929190505050610d6c565b005b3480156104fe57600080fd5b50610507610ebb565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561053f57600080fd5b506105ac6004803603606081101561055657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610edf565b005b3480156105ba57600080fd5b506105fd600480360360208110156105d157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611141565b6040518082815260200191505060405180910390f35b34801561061f57600080fd5b50610628611189565b005b34801561063657600080fd5b5061063f611314565b6040518082815260200191505060405180910390f35b34801561066157600080fd5b5061066a61131e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106a257600080fd5b506106ab611348565b6040518082815260200191505060405180910390f35b3480156106cd57600080fd5b506106d661134e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107165780820151818401526020810190506106fb565b50505050905090810190601f1680156107435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561075d57600080fd5b5061078c6004803603602081101561077457600080fd5b810190808035151590602001909291905050506113f0565b005b34801561079a57600080fd5b506107a3611510565b604051808263ffffffff16815260200191505060405180910390f35b3480156107cb57600080fd5b50610815600480360360608110156107e257600080fd5b8101908080359060200190929190803560ff169060200190929190803563ffffffff169060200190929190505050611526565b6040518082815260200191505060405180910390f35b34801561083757600080fd5b506108846004803603604081101561084e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611565565b60405180821515815260200191505060405180910390f35b3480156108a857600080fd5b506108f5600480360360408110156108bf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611632565b60405180821515815260200191505060405180910390f35b34801561091957600080fd5b50610922611650565b604051808260ff16815260200191505060405180910390f35b34801561094757600080fd5b506109aa6004803603604081101561095e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611663565b6040518082815260200191505060405180910390f35b3480156109cc57600080fd5b50610a0c600480360360408110156109e357600080fd5b81019080803560ff169060200190929190803563ffffffff1690602001909291905050506116ea565b005b348015610a1a57600080fd5b50610a5d60048036036020811015610a3157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061183c565b005b348015610a6b57600080fd5b50610a74611a4c565b6040518082815260200191505060405180910390f35b348015610a9657600080fd5b50610a9f611a52565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b4d5780601f10610b2257610100808354040283529160200191610b4d565b820191906000526020600020905b815481529060010190602001808311610b3057829003601f168201915b5050505050905090565b6000610b6b610b64611ae0565b8484611ae8565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600254905090565b6000610bb0848484611cdf565b610c7184610bbc611ae0565b610c6c8560405180606001604052806028815260200161291660289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c22611ae0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e239092919063ffffffff16565b611ae8565b600190509392505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900460ff16905090565b6000610d62610cc6611ae0565b84610d5d8560016000610cd7611ae0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5890919063ffffffff16565b611ae8565b6001905092915050565b610d74611ae0565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600760006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055507fb20e0f86438dbd4812cee7b24a6696d4dbaa9d3db89c677e731ab7dd738c8bbe8160405180826fffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b610ee7611ae0565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fa9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561104c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4552433230207472616e7366657220746f207a65726f2061646472657373000081525060200191505060405180910390fd5b600083905061106682600b54611ee390919063ffffffff16565b600b819055508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156110ff57600080fd5b505af1158015611113573d6000803e3d6000fd5b505050506040513d602081101561112957600080fd5b81019080805190602001909291905050505050505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611191611ae0565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611253576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600954905090565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113e65780601f106113bb576101008083540402835291602001916113e6565b820191906000526020600020905b8154815290600101906020018083116113c957829003601f168201915b5050505050905090565b6113f8611ae0565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600d60016101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1598160405180821515815260200191505060405180910390a150565b600660159054906101000a900463ffffffff1681565b600061155c60028460ff1601600a0a61154e8463ffffffff1687611f2d90919063ffffffff16565b611fb390919063ffffffff16565b90509392505050565b6000611628611572611ae0565b8461162385604051806060016040528060258152602001612987602591396001600061159c611ae0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e239092919063ffffffff16565b611ae8565b6001905092915050565b600061164661163f611ae0565b8484611cdf565b6001905092915050565b600660149054906101000a900460ff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6116f2611ae0565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b81600660146101000a81548160ff021916908360ff16021790555080600660156101000a81548163ffffffff021916908363ffffffff1602179055507f460fa919625630f734b5d86356a2511f134b6df313c793ca09e0399de8d933a08282604051808360ff1681526020018263ffffffff1681526020019250505060405180910390a15050565b611844611ae0565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611906576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561198c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806128876026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600b5481565b600c5481565b600080828401905083811015611ad6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b6e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806129636024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611bf4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806128ad6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000611cea30611141565b90506000600760009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168210159050808015611d3e5750600d60009054906101000a900460ff16155b8015611d9657507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b8015611dae5750600d60019054906101000a900460ff165b15611dbd57611dbc82611ffd565b5b6000611deb84600660149054906101000a900460ff16600660159054906101000a900463ffffffff16611526565b90506000611e028286611ee390919063ffffffff16565b9050611e0f8730846120df565b611e1a8787836120df565b50505050505050565b6000838311158290611ed0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611e95578082015181840152602081019050611e7a565b50505050905090810190601f168015611ec25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000611f2583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e23565b905092915050565b600080831415611f405760009050611fad565b6000828402905082848281611f5157fe5b0414611fa8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806128f56021913960400191505060405180910390fd5b809150505b92915050565b6000611ff583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123a0565b905092915050565b6001600d60006101000a81548160ff021916908315150217905550600061202e600283611fb390919063ffffffff16565b905060006120458284611ee390919063ffffffff16565b9050600047905061205583612466565b600061206a8247611ee390919063ffffffff16565b90506120768382612714565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb56184828560405180848152602001838152602001828152602001935050505060405180910390a1505050506000600d60006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612165576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061293e6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156121eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806128646023913960400191505060405180910390fd5b6121f683838361285e565b612261816040518060600160405280602681526020016128cf602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e239092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122f4816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a5890919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000808311829061244c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156124115780820151818401526020810190506123f6565b50505050905090810190601f16801561243e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161245857fe5b049050809150509392505050565b6060600267ffffffffffffffff8111801561248057600080fd5b506040519080825280602002602001820160405280156124af5781602001602082028036833780820191505090505b50905030816000815181106124c057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561256057600080fd5b505afa158015612574573d6000803e3d6000fd5b505050506040513d602081101561258a57600080fd5b8101908080519060200190929190505050816001815181106125a857fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061260d307f000000000000000000000000000000000000000000000000000000000000000084611ae8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b838110156126cf5780820151818401526020810190506126b4565b505050509050019650505050505050600060405180830381600087803b1580156126f857600080fd5b505af115801561270c573d6000803e3d6000fd5b505050505050565b61273f307f000000000000000000000000000000000000000000000000000000000000000084611ae8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008030426040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561280757600080fd5b505af115801561281b573d6000803e3d6000fd5b50505050506040513d606081101561283257600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fc2410f828c62e4b2016ba7d1a1a7be32eff124f354cecb8c5a2a65a541cbc4f64736f6c634300060c00330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000002faf0800000000000000000000000000000000000000000000000000000000000000001