6080604052606460065560646008556000600f60006101000a81548160ff0219169083151502179055503480156200003657600080fd5b506040518060400160405280600b81526020017f426c6f6f6479546f6b656e0000000000000000000000000000000000000000008152506040518060400160405280600681526020017f424c4f4f44590000000000000000000000000000000000000000000000000000815250818181818160039080519060200190620000bf929190620002dd565b508060049080519060200190620000d8929190620002dd565b506012600560006101000a81548160ff021916908360ff16021790555050505050505060006200010d620001f560201b60201c565b905080600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001be6064620001fd60201b60201c565b620001d0600a6200026260201b60201c565b61012c600e81905550620001e9620002c760201b60201c565b600c819055506200038c565b600033905090565b6000811162000258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603181526020018062003cc56031913960400191505060405180910390fd5b8060068190555050565b60008111620002bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d81526020018062003c88603d913960400191505060405180910390fd5b8060088190555050565b6000610e104281620002d557fe5b064203905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200032057805160ff191683800117855562000351565b8280016001018555821562000351579182015b828111156200035057825182559160200191906001019062000333565b5b50905062000360919062000364565b5090565b6200038991905b80821115620003855760008160009055506001016200036b565b5090565b90565b6138ec806200039c6000396000f3fe608060405234801561001057600080fd5b50600436106102d65760003560e01c80638da5cb5b11610182578063be378b89116100e9578063f00dcaee116100a2578063f42f40c21161007c578063f42f40c214610e6b578063f7752afe14610e89578063f7a9f6cf14610f01578063f89b601114610f1f576102d6565b8063f00dcaee14610dbf578063f047c10d14610e09578063f2fde38b14610e27576102d6565b8063be378b8914610c11578063c3d7402614610c69578063c962c2df14610c87578063c9b7d92814610ca5578063d661e90a14610cc3578063dd62ed3e14610d47576102d6565b8063a9059cbb1161013b578063a9059cbb14610ae3578063af14052c14610b49578063b6ef70bc14610b53578063b863a7cb14610bb3578063b86a2fd714610bd5578063ba52c8b714610bf3576102d6565b80638da5cb5b14610952578063914344cf1461099c57806395d89b41146109be5780639cc32cdb14610a41578063a457c2d714610a5f578063a779a81b14610ac5576102d6565b80632bb2bb061161024157806354f5bffa116101fa578063715018a6116101d4578063715018a6146108ee5780637fba744e146108f8578063859f6d8a146109165780638a991b7f14610934576102d6565b806354f5bffa1461072c578063672434821461074a57806370a0823114610896576102d6565b80632bb2bb06146105f2578063313ce5671461061057806339509351146106345780634456e3271461069a578063486ed6e2146106b85780634f656b861461070e576102d6565b806317c5b5cb1161029357806317c5b5cb1461047a57806318160ddd1461049c57806323b872dd146104ba578063240c98681461054057806326fe6a8c1461058a578063295f42a9146105d4576102d6565b806305ee7414146102db57806306fdde03146102f9578063095ea7b31461037c5780630b5d1a54146103e2578063106cdceb1461043a578063106f3b6e1461045c575b600080fd5b6102e3610f77565b6040518082815260200191505060405180910390f35b610301610f9a565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610341578082015181840152602081019050610326565b50505050905090810190601f16801561036e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103c86004803603604081101561039257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061103c565b604051808215151515815260200191505060405180910390f35b610424600480360360208110156103f857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061105a565b6040518082815260200191505060405180910390f35b610442611086565b604051808215151515815260200191505060405180910390f35b6104646110a7565b6040518082815260200191505060405180910390f35b6104826110ac565b604051808215151515815260200191505060405180910390f35b6104a46110df565b6040518082815260200191505060405180910390f35b610526600480360360608110156104d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110e9565b604051808215151515815260200191505060405180910390f35b6105486111d2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105926111f8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105dc61121e565b6040518082815260200191505060405180910390f35b6105fa611245565b6040518082815260200191505060405180910390f35b61061861124b565b604051808260ff1660ff16815260200191505060405180910390f35b6106806004803603604081101561064a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611262565b604051808215151515815260200191505060405180910390f35b6106a2611315565b6040518082815260200191505060405180910390f35b6106f8600480360360608110156106ce57600080fd5b8101908080359060200190929190803590602001909291908035906020019092919050505061131b565b6040518082815260200191505060405180910390f35b61071661148b565b6040518082815260200191505060405180910390f35b610734611495565b6040518082815260200191505060405180910390f35b6108946004803603604081101561076057600080fd5b810190808035906020019064010000000081111561077d57600080fd5b82018360208201111561078f57600080fd5b803590602001918460208302840111640100000000831117156107b157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561081157600080fd5b82018360208201111561082357600080fd5b8035906020019184602083028401116401000000008311171561084557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192905050506114bd565b005b6108d8600480360360208110156108ac57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115d8565b6040518082815260200191505060405180910390f35b6108f66115fe565b005b610900611789565b6040518082815260200191505060405180910390f35b61091e611797565b6040518082815260200191505060405180910390f35b61093c6117a1565b6040518082815260200191505060405180910390f35b61095a6117a7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109a46117d1565b604051808215151515815260200191505060405180910390f35b6109c6611800565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a065780820151818401526020810190506109eb565b50505050905090810190601f168015610a335780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610a496118a2565b6040518082815260200191505060405180910390f35b610aab60048036036040811015610a7557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118c9565b604051808215151515815260200191505060405180910390f35b610acd611996565b6040518082815260200191505060405180910390f35b610b2f60048036036040811015610af957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119ab565b604051808215151515815260200191505060405180910390f35b610b51611a92565b005b610b9d60048036036080811015610b6957600080fd5b8101908080359060200190929190803590602001909291908035906020019092919080359060200190929190505050611c0e565b6040518082815260200191505060405180910390f35b610bbb611cb7565b604051808215151515815260200191505060405180910390f35b610bdd611cc6565b6040518082815260200191505060405180910390f35b610bfb611ccc565b6040518082815260200191505060405180910390f35b610c5360048036036020811015610c2757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cd6565b6040518082815260200191505060405180910390f35b610c71611ce8565b6040518082815260200191505060405180910390f35b610c8f611ced565b6040518082815260200191505060405180910390f35b610cad611cf3565b6040518082815260200191505060405180910390f35b610d4560048036036060811015610cd957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d02565b005b610da960048036036040811015610d5d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e94565b6040518082815260200191505060405180910390f35b610dc7611f1b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610e11611f41565b6040518082815260200191505060405180910390f35b610e6960048036036020811015610e3d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611f4f565b005b610e7361215f565b6040518082815260200191505060405180910390f35b610eeb60048036036040811015610e9f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612181565b6040518082815260200191505060405180910390f35b610f0961239b565b6040518082815260200191505060405180910390f35b610f6160048036036020811015610f3557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123aa565b6040518082815260200191505060405180910390f35b6000610f95600854610f876110df565b61245990919063ffffffff16565b905090565b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110325780601f1061100757610100808354040283529160200191611032565b820191906000526020600020905b81548152906001019060200180831161101557829003601f168201915b5050505050905090565b60006110506110496124df565b84846124e7565b6001905092915050565b600061107f611068836123aa565b611071846115d8565b6126de90919063ffffffff16565b9050919050565b600042600e54600d5401101561109f57600090506110a4565b600190505b90565b600181565b6000600f60009054906101000a900460ff16156110d7574260105410156110d657600190506110dc565b5b600090505b90565b6000600254905090565b60008015156110f66110ac565b15151461114e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061377e602f913960400191505060405180910390fd5b6000151561115a611086565b1515146111b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603381526020018061367e6033913960400191505060405180910390fd5b6111bd848484612766565b506111c782612790565b600190509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610e10600c5401905042811161123b576000915050611242565b4281039150505b90565b600a5481565b6000600560009054906101000a900460ff16905090565b600061130b61126f6124df565b8461130685600160006112806124df565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126de90919063ffffffff16565b6124e7565b6001905092915050565b600e5481565b60008061271090506000816001029050600082600c029050600087141561135257600c60648161134757fe5b049350505050611484565b600087846064028161136057fe5b059050858714156113b5578281121561138a57600160648161137e57fe5b04945050505050611484565b818113156113a957600c60648161139d57fe5b04945050505050611484565b87945050505050611484565b6000868811905080156113e6578282126113e157600c6064816113d457fe5b0495505050505050611484565b611406565b8382136114055760016064816113f857fe5b0495505050505050611484565b5b60008089141561141e5760018801600003905061145b565b60008814156114325760018901905061145a565b81156114495787898161144157fe5b049050611459565b88888161145257fe5b0460000390505b5b5b600061146b848884028888611c0e565b905080876064028161147957fe5b059750505050505050505b9392505050565b6000600854905090565b60006114b86114a261148b565b6114aa611797565b61245990919063ffffffff16565b905090565b6114c56124df565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611587576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60008090505b82518110156115d3576115c68382815181106115a557fe5b60200260200101518383815181106115b957fe5b60200260200101516127e2565b808060010191505061158d565b505050565b60006115f76008546115e9846128fa565b61245990919063ffffffff16565b9050919050565b6116066124df565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000610e10600c5401905090565b6000600754905090565b600b5481565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006117db611086565b806117ea57506117e96110ac565b5b156117f857600190506117fd565b600090505b90565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118985780601f1061186d57610100808354040283529160200191611898565b820191906000526020600020905b81548152906001019060200180831161187b57829003601f168201915b5050505050905090565b600080600e54600d540190504281116118bf5760009150506118c6565b4281039150505b90565b600061198c6118d66124df565b846119878560405180606001604052806025815260200161389260259139600160006119006124df565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129429092919063ffffffff16565b6124e7565b6001905092915050565b6000610e1042816119a357fe5b064203905090565b60008015156119b86110ac565b151514611a10576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061377e602f913960400191505060405180910390fd5b60001515611a1c611086565b151514611a74576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603381526020018061367e6033913960400191505060405180910390fd5b611a7e8383612a02565b50611a8882612790565b6001905092915050565b60011515611a9e6110ac565b151514611af6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806138706022913960400191505060405180910390fd5b6000600b549050600a54600b819055506000600a81905550611b16611996565b600c819055506000611b4d6002611b3f611b2e611ccc565b600b54612a2a90919063ffffffff16565b612a2a90919063ffffffff16565b9050611b5881612a74565b6000611b6e611b65611ccc565b600b548561131b565b90506000611b87826103e8612a2a90919063ffffffff16565b9050611b9282612c37565b611b9b81612c9a565b600c547fa904dcf42a3461c90173c0b966672b2cb4350e529ea12d44e562fcec438363248383600b54886040518085815260200184815260200183815260200182815260200194505050505060405180910390a2611bf7612cfd565b611c016000612f8a565b42600d8190555050505050565b600082851215611c2057829450611c2d565b81851315611c2c578194505b5b60008490506000600590505b600115611cac57600082880190508481128015611c5557508581135b15611c67578288019350505050611caf565b6000828060019003935060000b1415611c99576000871315611c8e57849350505050611caf565b859350505050611caf565b60028381611ca357fe5b05925050611c39565b50505b949350505050565b6000611cc16110ac565b905090565b600d5481565b6000600654905090565b6000611ce1826128fa565b9050919050565b600c81565b600c5481565b600c606481611cfe57fe5b0481565b611d0a6124df565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611dcc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b82601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600e54600d5401905090565b611f576124df565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612019576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561209f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806136d36026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061217c600261216e611797565b612a2a90919063ffffffff16565b905090565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156121c05760009050612395565b60006121cb836115d8565b905060008114156121e0576000915050612395565b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561225f57600080fd5b505afa158015612273573d6000803e3d6000fd5b505050506040513d602081101561228957600080fd5b8101908080519060200190929190505050905060008114156122b057600092505050612395565b60008473ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156122f857600080fd5b505afa15801561230c573d6000803e3d6000fd5b505050506040513d602081101561232257600080fd5b81019080805190602001909291905050509050600064e8d4a510009050600061236683612358848761245990919063ffffffff16565b612a2a90919063ffffffff16565b905061238d8261237f838861245990919063ffffffff16565b612a2a90919063ffffffff16565b955050505050505b92915050565b60016064816123a657fe5b0481565b60006124526123db83601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612181565b61244461240a85601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612181565b61243686601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612181565b6126de90919063ffffffff16565b6126de90919063ffffffff16565b9050919050565b60008083141561246c57600090506124d9565b600082840290508284828161247d57fe5b04146124d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806137de6021913960400191505060405180910390fd5b809150505b92915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561256d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061384c6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806136f96022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b60008082840190508381101561275c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000612787848461278260085486612a2a90919063ffffffff16565b612fae565b90509392505050565b6127be6127ad61279e61148b565b83612a2a90919063ffffffff16565b600a546126de90919063ffffffff16565b600a819055506127cc611996565b600c54146127df576127de6001612f8a565b5b50565b6127f7816002546126de90919063ffffffff16565b60028190555061284e816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126de90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008383111582906129ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156129b4578082015181840152602081019050612999565b50505050905090810190601f1680156129e15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000612a2283612a1d60085485612a2a90919063ffffffff16565b612ff9565b905092915050565b6000612a6c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613042565b905092915050565b6000811415612a8257612c34565b6000612a98600383612a2a90919063ffffffff16565b90506000821415612aa95750612c34565b600073ffffffffffffffffffffffffffffffffffffffff16601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612b2c57612b2b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826127e2565b5b600073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612baf57612bae601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826127e2565b5b600073ffffffffffffffffffffffffffffffffffffffff16601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612c3257612c31601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826127e2565b5b505b50565b60008111612c90576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806137ad6031913960400191505060405180910390fd5b8060068190555050565b60008111612cf3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d815260200180613741603d913960400191505060405180910390fd5b8060088190555050565b600073ffffffffffffffffffffffffffffffffffffffff16601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612dd657601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612dbd57600080fd5b505af1158015612dd1573d6000803e3d6000fd5b505050505b600073ffffffffffffffffffffffffffffffffffffffff16601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612eaf57601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612e9657600080fd5b505af1158015612eaa573d6000803e3d6000fd5b505050505b600073ffffffffffffffffffffffffffffffffffffffff16601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612f8857601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612f6f57600080fd5b505af1158015612f83573d6000803e3d6000fd5b505050505b565b80600f60006101000a81548160ff0219169083151502179055504260108190555050565b600080612fc660065484612a2a90919063ffffffff16565b9050612fd28582613108565b612fef8585612fea848761313190919063ffffffff16565b61317b565b9150509392505050565b60008061301160065484612a2a90919063ffffffff16565b905061301d3382613108565b61303984613034838661313190919063ffffffff16565b613254565b91505092915050565b600080831182906130ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156130b3578082015181840152602081019050613098565b50505050905090810190601f1680156130e05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816130fa57fe5b049050809150509392505050565b6131128282613272565b613127816007546126de90919063ffffffff16565b6007819055505050565b600061317383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612942565b905092915050565b60006131888484846133a4565b613249846131946124df565b613244856040518060600160405280602881526020016137ff60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006131fa6124df565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129429092919063ffffffff16565b6124e7565b600190509392505050565b60006132686132616124df565b84846133a4565b6001905092915050565b6132dd816040518060600160405280602281526020016136b1602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129429092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506133348160025461313190919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561342a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806138276025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156134b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061365b6023913960400191505060405180910390fd5b61351b8160405180606001604052806026815260200161371b602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129429092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506135ae816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126de90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573737472616e7366657273206172652066726f7a656e20666f72206120666577206d696e757465732061667465722072656261736545524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655f736574456c61737469634d756c7469706c69657220656c61737469634d756c7469706c696572206d75737420626520626967676572207468616e20307472616e7366657273206172652066726f7a656e20756e74696c20736f6d656f6e652063616c6c73207265626173655f7365744275726e44697669736f72206275726e44697669736f72206d75737420626520626967676572207468616e2030536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373736f6d656f6e6520656c73652063616c6c65642072656261736520616c726561647945524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212208004802ec84dcc94442e25491577b7ee0a379b53cfec17e5e98bd9c34013923864736f6c634300060200335f736574456c61737469634d756c7469706c69657220656c61737469634d756c7469706c696572206d75737420626520626967676572207468616e20305f7365744275726e44697669736f72206275726e44697669736f72206d75737420626520626967676572207468616e2030