60a060405267016345785d8a0000600c55611068600d556064600e556105dc600f556701aa535d3d0c0000601055670214e8348c4f0000601155600360128190556013819055601455601680546001600160701b0319166301f400001790553480156200006b57600080fd5b50604051620033fa380380620033fa8339810160408190526200008e9162000339565b838360026200009e83826200047b565b506003620000ad82826200047b565b50506000805550620000bf336200011d565b6001600b55601880546001600160a01b03191633908117909155601654620000f891906001600160601b0362010000909104166200016f565b60176200010683826200047b565b506001600160a01b03166080525062000547915050565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6127106001600160601b0382161115620001e35760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b60648201526084015b60405180910390fd5b6001600160a01b0382166200023b5760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606401620001da565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600855565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200029c57600080fd5b81516001600160401b0380821115620002b957620002b962000274565b604051601f8301601f19908116603f01168101908282118183101715620002e457620002e462000274565b816040528381526020925086838588010111156200030157600080fd5b600091505b8382101562000325578582018301518183018401529082019062000306565b600093810190920192909252949350505050565b600080600080608085870312156200035057600080fd5b84516001600160401b03808211156200036857600080fd5b62000376888389016200028a565b955060208701519150808211156200038d57600080fd5b6200039b888389016200028a565b94506040870151915080821115620003b257600080fd5b50620003c1878288016200028a565b606087015190935090506001600160a01b0381168114620003e157600080fd5b939692955090935050565b600181811c908216806200040157607f821691505b6020821081036200042257634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200047657600081815260208120601f850160051c81016020861015620004515750805b601f850160051c820191505b8181101562000472578281556001016200045d565b5050505b505050565b81516001600160401b0381111562000497576200049762000274565b620004af81620004a88454620003ec565b8462000428565b602080601f831160018114620004e75760008415620004ce5750858301515b600019600386901b1c1916600185901b17855562000472565b600085815260208120601f198616915b828110156200051857888601518255948401946001909101908401620004f7565b5085821015620005375787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b608051612e976200056360003960006115b80152612e976000f3fe6080604052600436106102e85760003560e01c806365ff1b84116101905780639900ec8f116100dc578063bd65978411610095578063c87b56dd1161006f578063c87b56dd146108df578063ce76b4fc146108ff578063e985e9c514610915578063f2fde38b1461095e57600080fd5b8063bd6597841461087d578063bdb219fb1461089d578063c23dc68f146108b257600080fd5b80639900ec8f146107d557806399a2557a146107f5578063a1545ef514610815578063a22cb4651461082a578063a28d344d1461084a578063b88d4fde1461086a57600080fd5b80638144bf6b116101495780638da5cb5b116101235780638da5cb5b1461075a5780638dba085c146107785780638e0e0abb1461079857806395d89b41146107c057600080fd5b80638144bf6b146106ed5780638462151c1461070d578063863703791461073a57600080fd5b806365ff1b841461064357806370a082311461066357806370e197b314610683578063715018a614610698578063788a6694146106ad5780637cee37ff146106cd57600080fd5b8063257f9abf1161024f5780634d1441e7116102085780635983e794116101e25780635983e794146105c15780635bbb2177146105d6578063609452d6146106035780636352211e1461062357600080fd5b80634d1441e71461056c57806354fe55491461058157806355f804b3146105a157600080fd5b8063257f9abf146104b25780632a55205a146104d257806339a8a8bd146105115780633ccfd60b1461053157806340c10f191461054657806342842e0e1461055957600080fd5b806318160ddd116102a157806318160ddd146103ed5780631bd79163146104065780631e7f2ec214610426578063207c64fb1461044657806320c7ddf21461047f57806323b872dd1461049f57600080fd5b806301ffc9a7146102f457806303d5e84c1461032957806306fdde0314610361578063081812fc14610383578063095ea7b3146103bb57806312065fe0146103d057600080fd5b366102ef57005b600080fd5b34801561030057600080fd5b5061031461030f366004612624565b61097e565b60405190151581526020015b60405180910390f35b34801561033557600080fd5b50610349610344366004612648565b6109fa565b6040516001600160601b039091168152602001610320565b34801561036d57600080fd5b50610376610aa4565b60405161032091906126c1565b34801561038f57600080fd5b506103a361039e3660046126d4565b610b36565b6040516001600160a01b039091168152602001610320565b6103ce6103c9366004612704565b610b71565b005b3480156103dc57600080fd5b50475b604051908152602001610320565b3480156103f957600080fd5b50600154600054036103df565b34801561041257600080fd5b506103ce610421366004612775565b610b81565b34801561043257600080fd5b506103ce6104413660046126d4565b610cd2565b34801561045257600080fd5b50610314610461366004612822565b6001600160a01b03166000908152601a602052604090205460ff1690565b34801561048b57600080fd5b506103ce61049a3660046126d4565b610cdf565b6103ce6104ad36600461283d565b610cec565b3480156104be57600080fd5b506103ce6104cd366004612822565b610e51565b3480156104de57600080fd5b506104f26104ed366004612879565b610f04565b604080516001600160a01b039093168352602083019190915201610320565b34801561051d57600080fd5b506103ce61052c3660046128ab565b610fb0565b34801561053d57600080fd5b506103ce610fd2565b6103ce610554366004612704565b6110e2565b6103ce61056736600461283d565b6112f7565b34801561057857600080fd5b50610376611312565b34801561058d57600080fd5b506103ce61059c366004612775565b611321565b3480156105ad57600080fd5b506103ce6105bc36600461291e565b611470565b3480156105cd57600080fd5b506103ce611484565b3480156105e257600080fd5b506105f66105f1366004612967565b6114ab565b6040516103209190612a19565b34801561060f57600080fd5b506103ce61061e3660046126d4565b6114f7565b34801561062f57600080fd5b506103a361063e3660046126d4565b611504565b34801561064f57600080fd5b506103ce61065e3660046126d4565b61150f565b34801561066f57600080fd5b506103df61067e366004612822565b61151c565b34801561068f57600080fd5b506103ce611562565b3480156106a457600080fd5b506103ce6115e0565b3480156106b957600080fd5b506103ce6106c83660046126d4565b6115f2565b3480156106d957600080fd5b506103ce6106e83660046126d4565b6115ff565b3480156106f957600080fd5b506103ce61070836600461291e565b61160c565b34801561071957600080fd5b5061072d610728366004612822565b611620565b6040516103209190612a5b565b34801561074657600080fd5b506103ce6107553660046126d4565b61164f565b34801561076657600080fd5b50600a546001600160a01b03166103a3565b34801561078457600080fd5b506103ce6107933660046126d4565b61165c565b3480156107a457600080fd5b5060105460115460408051928352602083019190915201610320565b3480156107cc57600080fd5b50610376611669565b3480156107e157600080fd5b506103ce6107f03660046128ab565b611678565b34801561080157600080fd5b5061072d610810366004612a93565b611693565b34801561082157600080fd5b506014546103df565b34801561083657600080fd5b506103ce610845366004612ac6565b6116a0565b34801561085657600080fd5b506103ce6108653660046126d4565b61170c565b6103ce610878366004612af9565b611719565b34801561088957600080fd5b506103ce610898366004612822565b61175a565b3480156108a957600080fd5b506103ce61180d565b3480156108be57600080fd5b506108d26108cd3660046126d4565b611855565b6040516103209190612b75565b3480156108eb57600080fd5b506103766108fa3660046126d4565b6118aa565b34801561090b57600080fd5b506103df60155481565b34801561092157600080fd5b50610314610930366004612b83565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b34801561096a57600080fd5b506103ce610979366004612822565b611961565b60006001600160e01b0319821663184371e560e31b14806109af57506001600160e01b03198216630a85bd0160e11b145b806109ca57506001600160e01b03198216632baae9fd60e01b145b806109e557506001600160e01b0319821663422353cf60e11b145b806109f457506109f4826119f9565b92915050565b6000610a04611a1e565b601680546dffffffffffffffffffffffff00001916620100006001600160601b03851602179055601854610a41906001600160a01b031683611a78565b60165460408051620100009092046001600160601b031682524260208301527f9d4494c0f52cd977a3fa35b81dcb3759ff513ad771702549a02fa508205f096e910160405180910390a1506016546201000090046001600160601b03165b919050565b606060028054610ab390612bad565b80601f0160208091040260200160405190810160405280929190818152602001828054610adf90612bad565b8015610b2c5780601f10610b0157610100808354040283529160200191610b2c565b820191906000526020600020905b815481529060010190602001808311610b0f57829003601f168201915b5050505050905090565b6000610b4182611b75565b610b5557610b556333d1c03960e21b611bb8565b506000908152600660205260409020546001600160a01b031690565b610b7d82826001611bc2565b5050565b610b89611a1e565b60005b8151811015610b7d57601a6000838381518110610bab57610bab612be7565b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff161515600103610c1a5760405162461bcd60e51b815260206004820152600f60248201526e31b0b713ba1030b2321030b3b0b4b760891b60448201526064015b60405180910390fd5b6001601a6000848481518110610c3257610c32612be7565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550818181518110610c8357610c83612be7565b60200260200101516001600160a01b03167ff8d5f40934646cedded2cab1b5960f020db583f154fabcf831277b87d1803d1360405160405180910390a280610cca81612c13565b915050610b8c565b610cda611a1e565b601055565b610ce7611a1e565b601355565b6000610cf782611c65565b6001600160a01b039485169490915081168414610d1d57610d1d62a1148160e81b611bb8565b60008281526006602052604090208054338082146001600160a01b03881690911417610d6157610d4d8633610930565b610d6157610d61632ce44b5f60e11b611bb8565b8015610d6c57600082555b6001600160a01b038681166000908152600560205260408082208054600019019055918716808252919020805460010190554260a01b17600160e11b17600085815260046020526040812091909155600160e11b84169003610dfe57600184016000818152600460205260408120549003610dfc576000548114610dfc5760008181526004602052604090208490555b505b6001600160a01b0385168481887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a480600003610e4857610e48633a954ecd60e21b611bb8565b50505050505050565b610e59611a1e565b6001600160a01b0381166000908152601a602052604090205460ff161515600114610ebb5760405162461bcd60e51b81526020600482015260126024820152711859191c995cdcc81b9bdd081b1a5cdd195960721b6044820152606401610c11565b6001600160a01b0381166000818152601a6020526040808220805460ff19169055517f1e17ee0599b7c09bb1d0ff1e8086007909da8bfba5c7d18319cb558e66db37ee9190a250565b60008281526009602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610f795750604080518082019091526008546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090610f98906001600160601b031687612c2c565b610fa29190612c43565b915196919550909350505050565b610fb8611a1e565b601680549115156101000261ff0019909216919091179055565b610fda611a1e565b610fe2611cfb565b600c5447101561102b5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610c11565b600061103f600a546001600160a01b031690565b6001600160a01b0316600c5460405160006040518083038185875af1925050503d806000811461108b576040519150601f19603f3d011682016040523d82523d6000602084013e611090565b606091505b50509050806110d55760405162461bcd60e51b815260206004820152601160248201527015da5d1a191c985dd85b0819985a5b1959607a1b6044820152606401610c11565b506110e06001600b55565b565b60165460ff1615156001146111395760405162461bcd60e51b815260206004820152601860248201527f546865206d696e7420697320756e617661696c61626c652e00000000000000006044820152606401610c11565b600d5460015460005403106111875760405162461bcd60e51b8152602060048201526014602482015273151bdd185b081cdd5c1c1b1e481c995858da195960621b6044820152606401610c11565b600081116111e25760405162461bcd60e51b815260206004820152602260248201527f5175616e74697479206d7573742062652067726561746572207468616e207a65604482015261726f60f01b6064820152608401610c11565b600d54600154600054036111f69083612c65565b111561125f5760405162461bcd60e51b815260206004820152603260248201527f547279206c657373207468616e207175616e746974792c206f7220697320616c6044820152711c9958591e481d1bdd185b081b5a5b9d195960721b6064820152608401610c11565b6000611269611d54565b151560010361127f5761127c8383611d85565b90505b611287611f7d565b151560010361129d5761129a8383611fa2565b90505b6112a783836120f7565b6112b081612111565b6112f25760405162461bcd60e51b815260206004820152601360248201527226b4b73a103234b2103737ba103430b83832b760691b6044820152606401610c11565b505050565b6112f283838360405180602001604052806000815250611719565b606060198054610ab390612bad565b611329611a1e565b60005b8151811015610b7d57601a600083838151811061134b5761134b612be7565b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff1615156001146113b85760405162461bcd60e51b81526020600482015260126024820152711859191c995cdcc81b9bdd081b1a5cdd195960721b6044820152606401610c11565b6000601a60008484815181106113d0576113d0612be7565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff02191690831515021790555081818151811061142157611421612be7565b60200260200101516001600160a01b03167f1e17ee0599b7c09bb1d0ff1e8086007909da8bfba5c7d18319cb558e66db37ee60405160405180910390a28061146881612c13565b91505061132c565b611478611a1e565b6017610b7d8282612cc6565b61148c611a1e565b60145461149c9062015180612c2c565b6114a69042612c65565b601555565b60408051828152600583901b8082016020019092526060915b80156114ef57601f19808201918601013560006114e082611855565b84840160200152506114c49050565b509392505050565b6114ff611a1e565b600e55565b60006109f482611c65565b611517611a1e565b600d55565b60006001600160a01b03821661153c5761153c6323d3ad8160e21b611bb8565b506001600160a01b031660009081526005602052604090205467ffffffffffffffff1690565b61156a611a1e565b600e54806115ae5760405162461bcd60e51b8152602060048201526011602482015270253ab9ba103bb432b7103232b83637bc9760791b6044820152606401610c11565b6000600e556115dd7f0000000000000000000000000000000000000000000000000000000000000000826120f7565b50565b6115e8611a1e565b6110e060006121a1565b6115fa611a1e565b601455565b611607611a1e565b600f55565b611614611a1e565b6019610b7d8282612cc6565b606060008061162e60005490565b90506060818314611647576116448584846121f3565b90505b949350505050565b611657611a1e565b601255565b611664611a1e565b600c55565b606060038054610ab390612bad565b611680611a1e565b6016805460ff1916911515919091179055565b60606116478484846121f3565b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b611714611a1e565b601155565b611724848484610cec565b6001600160a01b0383163b1561175457611740848484846122e4565b611754576117546368d2bf6b60e11b611bb8565b50505050565b611762611a1e565b6001600160a01b0381166000908152601a602052604090205460ff1615156001036117c15760405162461bcd60e51b815260206004820152600f60248201526e31b0b713ba1030b2321030b3b0b4b760891b6044820152606401610c11565b6001600160a01b0381166000818152601a6020526040808220805460ff19166001179055517ff8d5f40934646cedded2cab1b5960f020db583f154fabcf831277b87d1803d139190a250565b7fb174311d360cae9897bc5dd0a9a1337a7a114021a4474ec75f481f6b47c2e11560105460115460405161184b929190918252602082015260400190565b60405180910390a1565b60408051608081018252600080825260208201819052918101829052606081018290529054821015610a9f575b6000828152600460205260409020546118a15760001990910190611882565b6109f4826123c6565b60606118b582611b75565b6118c9576118c9630a14c4b560e41b611bb8565b60006118d3612445565b90506000604051806020016040528060008152509050600060405180604001604052806005815260200164173539b7b760d91b815250905082516000036119295760405180602001604052806000815250611958565b828261193487612454565b836040516020016119489493929190612d86565b6040516020818303038152906040525b95945050505050565b611969611a1e565b6001600160a01b0381166119ce5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c11565b6119d7816121a1565b601880546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160e01b0319821663152a902d60e11b14806109f457506109f482612498565b600a546001600160a01b031633146110e05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c11565b6127106001600160601b0382161115611ae65760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b6064820152608401610c11565b6001600160a01b038216611b3c5760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606401610c11565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600855565b60008054821015610a9f5760005b5060008281526004602052604081205490819003611bab57611ba483612ddd565b9250611b83565b600160e01b161592915050565b8060005260046000fd5b6000611bcd83611504565b9050818015611be55750336001600160a01b03821614155b15611c0857611bf48133610930565b611c0857611c086367d9dca160e11b611bb8565b60008381526006602052604080822080546001600160a01b0319166001600160a01b0388811691821790925591518693918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a450505050565b60008181526004602052604081205490819003611cd8576000548210611c9557611c95636f96cda160e11b611bb8565b5b50600019016000818152600460205260409020548015611c9657600160e01b8116600003611cc357919050565b611cd3636f96cda160e11b611bb8565b611c96565b600160e01b8116600003611ceb57919050565b610a9f636f96cda160e11b611bb8565b6002600b5403611d4d5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610c11565b6002600b55565b60165460009060ff6101009091041615156001148015611d75575060155442105b611d7f5750600090565b50600190565b60008060105483611d969190612c2c565b336000908152601a602052604090205490915060ff161515600114611dee5760405162461bcd60e51b815260206004820152600e60248201526d129d5cdd081dda1a5d195b1a5cdd60921b6044820152606401610c11565b600f546001546000540310611e455760405162461bcd60e51b815260206004820152601e60248201527f50726976617465206d696e74696e6720737570706c79207265616368656400006044820152606401610c11565b601254831115611e975760405162461bcd60e51b815260206004820152601e60248201527f45786365656465642070726976617465206d696e74696e67206c696d697400006044820152606401610c11565b803414611ee15760405162461bcd60e51b8152602060048201526018602482015277125b98dbdc9c9958dd081c185e5b595b9d08185b5bdd5b9d60421b6044820152606401610c11565b6012546001600160a01b0385166000908152601b6020526040902054611f08908590612c65565b1115611f485760405162461bcd60e51b815260206004820152600f60248201526e546f74616c207175616e746974792160881b6044820152606401610c11565b6001600160a01b0384166000908152601b602052604081208054859290611f70908490612c65565b9091555090949350505050565b601654600090610100900460ff16158015611d7557506015544211611d7f5750600090565b60008060115483611fb39190612c2c565b336000908152601a602052604090205490915060ff16151560010361201a5760405162461bcd60e51b815260206004820152601f60248201527f4e6f742061636365737320746f2077686974656c6973746564207573657273006044820152606401610c11565b8034146120645760405162461bcd60e51b8152602060048201526018602482015277125b98dbdc9c9958dd081c185e5b595b9d08185b5bdd5b9d60421b6044820152606401610c11565b600e54600f54600d546120779190612df4565b6120819190612df4565b8311156120d05760405162461bcd60e51b815260206004820152601d60248201527f4578636565646564207075626c6963206d696e74696e67206c696d69740000006044820152606401610c11565b6013546001600160a01b0385166000908152601b6020526040902054611f08908590612c65565b610b7d8282604051806020016040528060008152506124e6565b600061211b611cfb565b600061212f600a546001600160a01b031690565b6001600160a01b03168360405160006040518083038185875af1925050503d8060008114612179576040519150601f19603f3d011682016040523d82523d6000602084013e61217e565b606091505b5050905080612191576000915050612197565b60019150505b610a9f6001600b55565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606081831061220c5761220c631960ccad60e11b611bb8565b60005480831061221a578092505b606060006122278761151c565b858710908102915081156122d85781878703116122445786860391505b60405192506001820160051b8301604052600061226088611855565b905060008160400151612271575080515b60005b61227d8a6123c6565b925060408301516000811461229557600092506122ba565b8351156122a157835192505b8b831860601b6122ba576001820191508a8260051b8801525b5060018a019950888a14806122ce57508481145b1561227457855250505b50909695505050505050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290612319903390899088908890600401612e07565b6020604051808303816000875af1925050508015612354575060408051601f3d908101601f1916820190925261235191810190612e44565b60015b6123a9573d808015612382576040519150601f19603f3d011682016040523d82523d6000602084013e612387565b606091505b5080516000036123a1576123a16368d2bf6b60e11b611bb8565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b6040805160808101825260008082526020820181905291810182905260608101919091526000828152600460205260409020546109f490604080516080810182526001600160a01b038316815260a083901c67ffffffffffffffff166020820152600160e01b831615159181019190915260e89190911c606082015290565b606060178054610ab390612bad565b606060a06040510180604052602081039150506000815280825b600183039250600a81066030018353600a90048061246e5750819003601f19909101908152919050565b60006301ffc9a760e01b6001600160e01b0319831614806124c957506380ac58cd60e01b6001600160e01b03198316145b806109f45750506001600160e01b031916635b5e139f60e01b1490565b6124f0838361254f565b6001600160a01b0383163b156112f2576000548281035b61251a60008683806001019450866122e4565b61252e5761252e6368d2bf6b60e11b611bb8565b818110612507578160005414612548576125486000611bb8565b5050505050565b600080549082900361256b5761256b63b562e8dd60e01b611bb8565b60008181526004602090815260408083206001600160a01b0387164260a01b6001881460e11b178117909155808452600590925282208054680100000000000000018602019055908190036125c9576125c9622e076360e81b611bb8565b818301825b808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a48181600101915081036125ce575060005550505050565b6001600160e01b0319811681146115dd57600080fd5b60006020828403121561263657600080fd5b81356126418161260e565b9392505050565b60006020828403121561265a57600080fd5b81356001600160601b038116811461264157600080fd5b60005b8381101561268c578181015183820152602001612674565b50506000910152565b600081518084526126ad816020860160208601612671565b601f01601f19169290920160200192915050565b6020815260006126416020830184612695565b6000602082840312156126e657600080fd5b5035919050565b80356001600160a01b0381168114610a9f57600080fd5b6000806040838503121561271757600080fd5b612720836126ed565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561276d5761276d61272e565b604052919050565b6000602080838503121561278857600080fd5b823567ffffffffffffffff808211156127a057600080fd5b818501915085601f8301126127b457600080fd5b8135818111156127c6576127c661272e565b8060051b91506127d7848301612744565b81815291830184019184810190888411156127f157600080fd5b938501935b8385101561281657612807856126ed565b825293850193908501906127f6565b98975050505050505050565b60006020828403121561283457600080fd5b612641826126ed565b60008060006060848603121561285257600080fd5b61285b846126ed565b9250612869602085016126ed565b9150604084013590509250925092565b6000806040838503121561288c57600080fd5b50508035926020909101359150565b80358015158114610a9f57600080fd5b6000602082840312156128bd57600080fd5b6126418261289b565b600067ffffffffffffffff8311156128e0576128e061272e565b6128f3601f8401601f1916602001612744565b905082815283838301111561290757600080fd5b828260208301376000602084830101529392505050565b60006020828403121561293057600080fd5b813567ffffffffffffffff81111561294757600080fd5b8201601f8101841361295857600080fd5b611647848235602084016128c6565b6000806020838503121561297a57600080fd5b823567ffffffffffffffff8082111561299257600080fd5b818501915085601f8301126129a657600080fd5b8135818111156129b557600080fd5b8660208260051b85010111156129ca57600080fd5b60209290920196919550909350505050565b80516001600160a01b0316825260208082015167ffffffffffffffff169083015260408082015115159083015260609081015162ffffff16910152565b6020808252825182820181905260009190848201906040850190845b818110156122d857612a488385516129dc565b9284019260809290920191600101612a35565b6020808252825182820181905260009190848201906040850190845b818110156122d857835183529284019291840191600101612a77565b600080600060608486031215612aa857600080fd5b612ab1846126ed565b95602085013595506040909401359392505050565b60008060408385031215612ad957600080fd5b612ae2836126ed565b9150612af06020840161289b565b90509250929050565b60008060008060808587031215612b0f57600080fd5b612b18856126ed565b9350612b26602086016126ed565b925060408501359150606085013567ffffffffffffffff811115612b4957600080fd5b8501601f81018713612b5a57600080fd5b612b69878235602084016128c6565b91505092959194509250565b608081016109f482846129dc565b60008060408385031215612b9657600080fd5b612b9f836126ed565b9150612af0602084016126ed565b600181811c90821680612bc157607f821691505b602082108103612be157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201612c2557612c25612bfd565b5060010190565b80820281158282048414176109f4576109f4612bfd565b600082612c6057634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156109f4576109f4612bfd565b601f8211156112f257600081815260208120601f850160051c81016020861015612c9f5750805b601f850160051c820191505b81811015612cbe57828155600101612cab565b505050505050565b815167ffffffffffffffff811115612ce057612ce061272e565b612cf481612cee8454612bad565b84612c78565b602080601f831160018114612d295760008415612d115750858301515b600019600386901b1c1916600185901b178555612cbe565b600085815260208120601f198616915b82811015612d5857888601518255948401946001909101908401612d39565b5085821015612d765787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008551612d98818460208a01612671565b855190830190612dac818360208a01612671565b8551910190612dbf818360208901612671565b8451910190612dd2818360208801612671565b019695505050505050565b600081612dec57612dec612bfd565b506000190190565b818103818111156109f4576109f4612bfd565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612e3a90830184612695565b9695505050505050565b600060208284031215612e5657600080fd5b81516126418161260e56fea264697066735822122093dd81c4bc1d6cdb271314ea39b1c0d9f544662819ee9f72bf71177a9250a10664736f6c63430008120033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000003673479353f3acfff8ef68b2a375880e8fc520200000000000000000000000000000000000000000000000000000000000000015626f6f6d6572616e672047656e657369732e736f6c000000000000000000000000000000000000000000000000000000000000000000000000000000000000044f5a5a5900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004468747470733a2f2f697066732e696f2f697066732f516d55584d45434d366141356e466f4839474848634c797437356b76715139444e686b5554776152335376565a4a2f00000000000000000000000000000000000000000000000000000000