61012060405260756080818152906200359760a039600d90620000239082620003ab565b50604080518082019091526005815264173539b7b760d91b6020820152600e906200004f9082620003ab565b506101f4600f5560108054746fd6afe08202d7aefdf533ee44dc0e62941c4b22006001600160a81b0319909116179055601180546001600160a01b031990811673495f947276749ce646f68ac8c248420045cb7b5e179091556012805490911661d3ad179055604080518082019091526009815268444f532050756e6b7360b81b6020820152601390620000e49082620003ab565b50604080518082019091526003815262444f5360e81b60208201526014906200010e9082620003ab565b506040518060600160405280602e81526020016200360c602e9139601590620001389082620003ab565b503480156200014657600080fd5b506013805462000156906200031c565b80601f016020809104026020016040519081016040528092919081815260200182805462000184906200031c565b8015620001d55780601f10620001a957610100808354040283529160200191620001d5565b820191906000526020600020905b815481529060010190602001808311620001b757829003601f168201915b505050505060148054620001e9906200031c565b80601f016020809104026020016040519081016040528092919081815260200182805462000217906200031c565b8015620002685780601f106200023c5761010080835404028352916020019162000268565b820191906000526020600020905b8154815290600101906020018083116200024a57829003601f168201915b505050505081600090816200027e9190620003ab565b5060016200028d8282620003ab565b505050620002aa620002a4620002b060201b60201c565b620002b4565b62000477565b3390565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200033157607f821691505b6020821081036200035257634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003a657600081815260208120601f850160051c81016020861015620003815750805b601f850160051c820191505b81811015620003a2578281556001016200038d565b5050505b505050565b81516001600160401b03811115620003c757620003c762000306565b620003df81620003d884546200031c565b8462000358565b602080601f831160018114620004175760008415620003fe5750858301515b600019600386901b1c1916600185901b178555620003a2565b600085815260208120601f198616915b82811015620004485788860151825594840194600190910190840162000427565b5085821015620004675787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61311080620004876000396000f3fe6080604052600436106102c95760003560e01c806355f804b3116101755780638da5cb5b116100dc578063c668286211610095578063d5abeb011161006f578063d5abeb01146108c7578063da3ef23f146108dd578063e985e9c5146108fd578063f2fde38b1461094657600080fd5b8063c66828621461087d578063c87b56dd14610892578063d28d8852146108b257600080fd5b80638da5cb5b146107d5578063930ce78c146107f357806395d89b4114610813578063a22cb46514610828578063b09f126614610848578063b88d4fde1461085d57600080fd5b80636f8b44b01161012e5780636f8b44b01461072b578063707e8b301461074b57806370a082311461076b578063715018a61461078b5780637f4ab7c8146107a0578063860fc78b146107b557600080fd5b806355f804b31461066c5780635c975abb1461068c5780635f6be614146106a65780636352211e146106c65780636c0360eb146106e65780636e680386146106fb57600080fd5b80632a55205a1161023457806342842e0e116101ed5780634acb56db116101c75780634acb56db146105ec5780634b0e72161461060c5780634f6ccce71461062c5780635016c2911461064c57600080fd5b806342842e0e1461057a578063438b63001461059a578063488caa73146105c757600080fd5b80632a55205a146104b35780632c0db8a3146104f25780632e0c4e3e146105125780632f745c59146105325780633ccfd60b1461055257806340c10f191461055a57600080fd5b806314ff5ea31161028657806314ff5ea3146103bf57806318160ddd146103ed5780631d8e5000146104025780631eb821ed1461042257806321b8092e1461047357806323b872dd1461049357600080fd5b806301ffc9a7146102ce57806302329a291461030357806306fdde0314610325578063081812fc14610347578063095ea7b31461037f5780630c794a6d1461039f575b600080fd5b3480156102da57600080fd5b506102ee6102e93660046127c0565b610966565b60405190151581526020015b60405180910390f35b34801561030f57600080fd5b5061032361031e3660046127f9565b6109e2565b005b34801561033157600080fd5b5061033a610a32565b6040516102fa9190612864565b34801561035357600080fd5b50610367610362366004612877565b610ac4565b6040516001600160a01b0390911681526020016102fa565b34801561038b57600080fd5b5061032361039a3660046128a7565b610aeb565b3480156103ab57600080fd5b506103236103ba3660046128d1565b610c05565b3480156103cb57600080fd5b506103df6103da366004612877565b610c4a565b6040519081526020016102fa565b3480156103f957600080fd5b506008546103df565b34801561040e57600080fd5b50601154610367906001600160a01b031681565b34801561042e57600080fd5b50604080518082018252600a546001600160a01b038116808352600160a01b9091046001600160601b03166020928301819052835191825291810191909152016102fa565b34801561047f57600080fd5b5061032361048e366004612946565b610e47565b34801561049f57600080fd5b506103236104ae366004612961565b610ea5565b3480156104bf57600080fd5b506104d36104ce36600461299d565b610ed6565b604080516001600160a01b0390931683526020830191909152016102fa565b3480156104fe57600080fd5b5061032361050d366004612877565b610f82565b34801561051e57600080fd5b5061032361052d3660046129d6565b610f9e565b34801561053e57600080fd5b506103df61054d3660046128a7565b610fb1565b610323611047565b34801561056657600080fd5b506103236105753660046128a7565b6110f5565b34801561058657600080fd5b50610323610595366004612961565b61121a565b3480156105a657600080fd5b506105ba6105b5366004612946565b611235565b6040516102fa9190612a12565b3480156105d357600080fd5b506010546103679061010090046001600160a01b031681565b3480156105f857600080fd5b50610323610607366004612a56565b6112d7565b34801561061857600080fd5b50610323610627366004612946565b6112ed565b34801561063857600080fd5b506103df610647366004612877565b611343565b34801561065857600080fd5b50610323610667366004612946565b6113d6565b34801561067857600080fd5b50610323610687366004612b15565b61142c565b34801561069857600080fd5b506010546102ee9060ff1681565b3480156106b257600080fd5b506103236106c1366004612877565b611470565b3480156106d257600080fd5b506103676106e1366004612877565b611659565b3480156106f257600080fd5b5061033a6116b9565b34801561070757600080fd5b506102ee610716366004612877565b60166020526000908152604090205460ff1681565b34801561073757600080fd5b50610323610746366004612877565b611747565b34801561075757600080fd5b50610323610766366004612877565b611784565b34801561077757600080fd5b506103df610786366004612946565b6117d7565b34801561079757600080fd5b5061032361185d565b3480156107ac57600080fd5b50610323611871565b3480156107c157600080fd5b506102ee6107d0366004612877565b611883565b3480156107e157600080fd5b50600c546001600160a01b0316610367565b3480156107ff57600080fd5b50601254610367906001600160a01b031681565b34801561081f57600080fd5b5061033a61192b565b34801561083457600080fd5b50610323610843366004612b5e565b61193a565b34801561085457600080fd5b5061033a611945565b34801561086957600080fd5b50610323610878366004612b88565b611952565b34801561088957600080fd5b5061033a611984565b34801561089e57600080fd5b5061033a6108ad366004612877565b611991565b3480156108be57600080fd5b5061033a611a6f565b3480156108d357600080fd5b506103df600f5481565b3480156108e957600080fd5b506103236108f8366004612b15565b611a7c565b34801561090957600080fd5b506102ee610918366004612c04565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561095257600080fd5b50610323610961366004612946565b611a90565b60006001600160e01b031982166380ac58cd60e01b148061099757506001600160e01b03198216635b5e139f60e01b145b806109b257506001600160e01b0319821663780e9d6360e01b145b806109cd57506001600160e01b0319821663152a902d60e11b145b806109dc57506109dc82611b06565b92915050565b6109ea611b2b565b6010805460ff19168215159081179091556040519081527fd9399b37a2fb7b405f2de11f91569ae75dd821edfbfb8dce87cec0166b53f7d6906020015b60405180910390a150565b606060008054610a4190612c2e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a6d90612c2e565b8015610aba5780601f10610a8f57610100808354040283529160200191610aba565b820191906000526020600020905b815481529060010190602001808311610a9d57829003601f168201915b5050505050905090565b6000610acf82611b85565b506000908152600460205260409020546001600160a01b031690565b6000610af682611659565b9050806001600160a01b0316836001600160a01b031603610b685760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b0382161480610b845750610b848133610918565b610bf65760405162461bcd60e51b815260206004820152603e60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c00006064820152608401610b5f565b610c008383611be4565b505050565b8060005b81811015610c4457610c32848483818110610c2657610c26612c68565b90506020020135611470565b80610c3c81612c94565b915050610c09565b50505050565b6000817fbe8a3d01e747c397ffe92709ec8f782e6602f622000000000001b8000000000103610c7c57506101f2919050565b817fbe8a3d01e747c397ffe92709ec8f782e6602f62200000000000012000000000103610cac57506101f3919050565b817fbe8a3d01e747c397ffe92709ec8f782e6602f62200000000000019000000000103610cdc57506101f4919050565b600066ffffffffffffff602884901c16606084901c73be8a3d01e747c397ffe92709ec8f782e6602f622819003610d1557819250610e3e565b6001600160a01b038116736fd6afe08202d7aefdf533ee44dc0e62941c4b2203610e2d578192508160c603610d4e576101e99250610e3e565b8160c703610d60576101ea9250610e3e565b8160c903610d72576101eb9250610e3e565b8160ca03610d84576101ec9250610e3e565b8160cb03610d96576101ed9250610e3e565b8160cc03610da8576101ee9250610e3e565b8160cd03610dba576101ef9250610e3e565b8160ce03610dcc576101f09250610e3e565b8160cf03610dde576101f19250610e3e565b8160d003610df0576101b89250610e3e565b816101b803610e03576101f29250610e3e565b8160d103610e145760199250610e3e565b8160d203610e255760129250610e3e565b819250610e3e565b600f54610e3b906001612cad565b92505b50909392505050565b610e4f611b2b565b60108054610100600160a81b0319166101006001600160a01b038416908102919091179091556040519081527f4e5ecf59629c4ded3674aef93212776a1b8fa1f69807c82baa8492703bfc5be690602001610a27565b610eaf3382611c52565b610ecb5760405162461bcd60e51b8152600401610b5f90612cc0565b610c00838383611cd1565b6000828152600b602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610f4b575060408051808201909152600a546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090610f6a906001600160601b031687612d0e565b610f749190612d3b565b915196919550909350505050565b610f8a611b2b565b6000908152600b6020526040812055565b50565b610fa6611b2b565b610c00838383611e78565b6000610fbc836117d7565b821061101e5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610b5f565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b61104f611b2b565b60105460405160009161010090046001600160a01b03169047908381818185875af1925050503d80600081146110a1576040519150601f19603f3d011682016040523d82523d6000602084013e6110a6565b606091505b50509050806110b457600080fd5b6010546040516101009091046001600160a01b031681527f881406214596259b5d24cf97917f72ed1f2081c2e45799ab7e56e24ba38be1c590602001610a27565b6110fd611b2b565b60105460ff16156111425760405162461bcd60e51b815260206004820152600f60248201526e10dbdb9d1c9858dd081c185d5cd959608a1b6044820152606401610b5f565b600081116111855760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a59081d1bdad95b88125160821b6044820152606401610b5f565b600f5481106111c95760405162461bcd60e51b815260206004820152601060248201526f125b9d985b1a59081d1bdad95b88125160821b6044820152606401610b5f565b6111d38282611f43565b604080516001600160a01b0384168152602081018390527f45704679a40d4b2ffe28aa7324f021775faaca4d40917fef2cdf38e53fd90a2491015b60405180910390a15050565b610c0083838360405180602001604052806000815250611952565b60606000611242836117d7565b905060008167ffffffffffffffff81111561125f5761125f612a89565b604051908082528060200260200182016040528015611288578160200160208202803683370190505b50905060005b828110156112cf576112a08582610fb1565b8282815181106112b2576112b2612c68565b6020908102919091010152806112c781612c94565b91505061128e565b509392505050565b6112df611b2b565b6112e98282611f5d565b5050565b6112f5611b2b565b601280546001600160a01b0319166001600160a01b0383169081179091556040519081527f01366b069e98714b449004ea7e70c67a4ffe8ce978abfe4ee74d39ebb0ba23bd90602001610a27565b600061134e60085490565b82106113b15760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610b5f565b600882815481106113c4576113c4612c68565b90600052602060002001549050919050565b6113de611b2b565b601180546001600160a01b0319166001600160a01b0383169081179091556040519081527f2631746ef2cf4b9ade6ed8ab89013542f039bd3ff7b3824b6d0f753f38506ad490602001610a27565b611434611b2b565b600d6114408282612d9d565b507fc9e8f610c54c2b76116d5166ae3d1bd8f7227fd57dce593bc86525d58991963d81604051610a279190612864565b60105460ff16156114b55760405162461bcd60e51b815260206004820152600f60248201526e10dbdb9d1c9858dd081c185d5cd959608a1b6044820152606401610b5f565b601154604051627eeac760e11b8152336004820152602481018390526001600160a01b039091169062fdd58e90604401602060405180830381865afa158015611502573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115269190612e5d565b6001146015906115495760405162461bcd60e51b8152600401610b5f9190612e76565b5061155381611883565b61158f5760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b2103a37b5b2b760991b6044820152606401610b5f565b600061159a82610c4a565b601154601254604051637921219560e11b81523360048201526001600160a01b039182166024820152604481018690526001606482015260a06084820152600060a4820152929350169063f242432a9060c401600060405180830381600087803b15801561160757600080fd5b505af115801561161b573d6000803e3d6000fd5b505050506116293382611f43565b6040518281527f4d3a6ca0c450b288c94ada894886e93824e699fa2d6a909fdcd6ad3a915f18299060200161120e565b6000818152600260205260408120546001600160a01b0316806109dc5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610b5f565b600d80546116c690612c2e565b80601f01602080910402602001604051908101604052809291908181526020018280546116f290612c2e565b801561173f5780601f106117145761010080835404028352916020019161173f565b820191906000526020600020905b81548152906001019060200180831161172257829003601f168201915b505050505081565b61174f611b2b565b600f8190556040518181527f115fc9a06617f7766b311b347c33a9f1136ab8eac32129631a9d1455f4a0fc3290602001610a27565b61178c611b2b565b60008181526016602052604090819020805460ff19166001179055517f57ac91f4cdf76bee7e437b26ff10e7fe91b50d75dd5f3137eaedeb30ed0d860290610a279083815260200190565b60006001600160a01b0382166118415760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610b5f565b506001600160a01b031660009081526003602052604090205490565b611865611b2b565b61186f6000612017565b565b611879611b2b565b61186f6000600a55565b60008181526016602052604081205460ff16156118a257506001919050565b66ffffffffffffff602883901c16606083901c64ffffffffff8416600073be8a3d01e747c397ffe92709ec8f782e6602f6228314806118fd5750736fd6afe08202d7aefdf533ee44dc0e62941c4b226001600160a01b038416145b9050600182146101f485111560008380156119155750825b801561191e5750815b9998505050505050505050565b606060018054610a4190612c2e565b6112e9338383612069565b601480546116c690612c2e565b61195c3383611c52565b6119785760405162461bcd60e51b8152600401610b5f90612cc0565b610c4484848484612137565b600e80546116c690612c2e565b6000818152600260205260409020546060906001600160a01b0316611a105760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610b5f565b6000600d8054611a1f90612c2e565b905011611a3b57604051806020016040528060008152506109dc565b600d611a468361216a565b600e604051602001611a5a93929190612f74565b60405160208183030381529060405292915050565b601380546116c690612c2e565b611a84611b2b565b600e6112e98282612d9d565b611a98611b2b565b6001600160a01b038116611afd5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b5f565b610f9b81612017565b60006001600160e01b0319821663152a902d60e11b14806109dc57506109dc8261226b565b600c546001600160a01b0316331461186f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b5f565b6000818152600260205260409020546001600160a01b0316610f9b5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610b5f565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611c1982611659565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611c5e83611659565b9050806001600160a01b0316846001600160a01b03161480611ca557506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b80611cc95750836001600160a01b0316611cbe84610ac4565b6001600160a01b0316145b949350505050565b826001600160a01b0316611ce482611659565b6001600160a01b031614611d485760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610b5f565b6001600160a01b038216611daa5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610b5f565b611db5838383612290565b611dc0600082611be4565b6001600160a01b0383166000908152600360205260408120805460019290611de9908490612fa7565b90915550506001600160a01b0382166000908152600360205260408120805460019290611e17908490612cad565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6127106001600160601b0382161115611ea35760405162461bcd60e51b8152600401610b5f90612fba565b6001600160a01b038216611ef95760405162461bcd60e51b815260206004820152601b60248201527f455243323938313a20496e76616c696420706172616d657465727300000000006044820152606401610b5f565b6040805180820182526001600160a01b0393841681526001600160601b0392831660208083019182526000968752600b90529190942093519051909116600160a01b029116179055565b6112e9828260405180602001604052806000815250612348565b6127106001600160601b0382161115611f885760405162461bcd60e51b8152600401610b5f90612fba565b6001600160a01b038216611fde5760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606401610b5f565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600a55565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036120ca5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610b5f565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612142848484611cd1565b61214e8484848461237b565b610c445760405162461bcd60e51b8152600401610b5f90613004565b6060816000036121915750506040805180820190915260018152600360fc1b602082015290565b8160005b81156121bb57806121a581612c94565b91506121b49050600a83612d3b565b9150612195565b60008167ffffffffffffffff8111156121d6576121d6612a89565b6040519080825280601f01601f191660200182016040528015612200576020820181803683370190505b5090505b8415611cc957612215600183612fa7565b9150612222600a86613056565b61222d906030612cad565b60f81b81838151811061224257612242612c68565b60200101906001600160f81b031916908160001a905350612264600a86612d3b565b9450612204565b60006001600160e01b0319821663780e9d6360e01b14806109dc57506109dc8261247c565b6001600160a01b0383166122eb576122e681600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b61230e565b816001600160a01b0316836001600160a01b03161461230e5761230e83826124cc565b6001600160a01b03821661232557610c0081612569565b826001600160a01b0316826001600160a01b031614610c0057610c008282612618565b612352838361265c565b61235f600084848461237b565b610c005760405162461bcd60e51b8152600401610b5f90613004565b60006001600160a01b0384163b1561247157604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906123bf90339089908890889060040161306a565b6020604051808303816000875af19250505080156123fa575060408051601f3d908101601f191682019092526123f7918101906130a7565b60015b612457573d808015612428576040519150601f19603f3d011682016040523d82523d6000602084013e61242d565b606091505b50805160000361244f5760405162461bcd60e51b8152600401610b5f90613004565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611cc9565b506001949350505050565b60006001600160e01b031982166380ac58cd60e01b14806124ad57506001600160e01b03198216635b5e139f60e01b145b806109dc57506301ffc9a760e01b6001600160e01b03198316146109dc565b600060016124d9846117d7565b6124e39190612fa7565b600083815260076020526040902054909150808214612536576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061257b90600190612fa7565b600083815260096020526040812054600880549394509092849081106125a3576125a3612c68565b9060005260206000200154905080600883815481106125c4576125c4612c68565b60009182526020808320909101929092558281526009909152604080822084905585825281205560088054806125fc576125fc6130c4565b6001900381819060005260206000200160009055905550505050565b6000612623836117d7565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6001600160a01b0382166126b25760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610b5f565b6000818152600260205260409020546001600160a01b0316156127175760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610b5f565b61272360008383612290565b6001600160a01b038216600090815260036020526040812080546001929061274c908490612cad565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160e01b031981168114610f9b57600080fd5b6000602082840312156127d257600080fd5b81356127dd816127aa565b9392505050565b803580151581146127f457600080fd5b919050565b60006020828403121561280b57600080fd5b6127dd826127e4565b60005b8381101561282f578181015183820152602001612817565b50506000910152565b60008151808452612850816020860160208601612814565b601f01601f19169290920160200192915050565b6020815260006127dd6020830184612838565b60006020828403121561288957600080fd5b5035919050565b80356001600160a01b03811681146127f457600080fd5b600080604083850312156128ba57600080fd5b6128c383612890565b946020939093013593505050565b600080602083850312156128e457600080fd5b823567ffffffffffffffff808211156128fc57600080fd5b818501915085601f83011261291057600080fd5b81358181111561291f57600080fd5b8660208260051b850101111561293457600080fd5b60209290920196919550909350505050565b60006020828403121561295857600080fd5b6127dd82612890565b60008060006060848603121561297657600080fd5b61297f84612890565b925061298d60208501612890565b9150604084013590509250925092565b600080604083850312156129b057600080fd5b50508035926020909101359150565b80356001600160601b03811681146127f457600080fd5b6000806000606084860312156129eb57600080fd5b833592506129fb60208501612890565b9150612a09604085016129bf565b90509250925092565b6020808252825182820181905260009190848201906040850190845b81811015612a4a57835183529284019291840191600101612a2e565b50909695505050505050565b60008060408385031215612a6957600080fd5b612a7283612890565b9150612a80602084016129bf565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115612aba57612aba612a89565b604051601f8501601f19908116603f01168101908282118183101715612ae257612ae2612a89565b81604052809350858152868686011115612afb57600080fd5b858560208301376000602087830101525050509392505050565b600060208284031215612b2757600080fd5b813567ffffffffffffffff811115612b3e57600080fd5b8201601f81018413612b4f57600080fd5b611cc984823560208401612a9f565b60008060408385031215612b7157600080fd5b612b7a83612890565b9150612a80602084016127e4565b60008060008060808587031215612b9e57600080fd5b612ba785612890565b9350612bb560208601612890565b925060408501359150606085013567ffffffffffffffff811115612bd857600080fd5b8501601f81018713612be957600080fd5b612bf887823560208401612a9f565b91505092959194509250565b60008060408385031215612c1757600080fd5b612c2083612890565b9150612a8060208401612890565b600181811c90821680612c4257607f821691505b602082108103612c6257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201612ca657612ca6612c7e565b5060010190565b808201808211156109dc576109dc612c7e565b6020808252602e908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526d1c881b9bdc88185c1c1c9bdd995960921b606082015260800190565b80820281158282048414176109dc576109dc612c7e565b634e487b7160e01b600052601260045260246000fd5b600082612d4a57612d4a612d25565b500490565b601f821115610c0057600081815260208120601f850160051c81016020861015612d765750805b601f850160051c820191505b81811015612d9557828155600101612d82565b505050505050565b815167ffffffffffffffff811115612db757612db7612a89565b612dcb81612dc58454612c2e565b84612d4f565b602080601f831160018114612e005760008415612de85750858301515b600019600386901b1c1916600185901b178555612d95565b600085815260208120601f198616915b82811015612e2f57888601518255948401946001909101908401612e10565b5085821015612e4d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215612e6f57600080fd5b5051919050565b6000602080835260008454612e8a81612c2e565b80848701526040600180841660008114612eab5760018114612ec557612ef3565b60ff1985168984015283151560051b890183019550612ef3565b896000528660002060005b85811015612eeb5781548b8201860152908301908801612ed0565b8a0184019650505b509398975050505050505050565b60008154612f0e81612c2e565b60018281168015612f265760018114612f3b57612f6a565b60ff1984168752821515830287019450612f6a565b8560005260208060002060005b85811015612f615781548a820152908401908201612f48565b50505082870194505b5050505092915050565b6000612f808286612f01565b8451612f90818360208901612814565b612f9c81830186612f01565b979650505050505050565b818103818111156109dc576109dc612c7e565b6020808252602a908201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646040820152692073616c65507269636560b01b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008261306557613065612d25565b500690565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061309d90830184612838565b9695505050505050565b6000602082840312156130b957600080fd5b81516127dd816127aa565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220cc6359f54916b21503367b7a169c0728b15c875a02756f4c35c9d722882e1db064736f6c6343000815003368747470733a2f2f7a6d666663756c33326b6d726d673534783275666c6866717a796e367861336b756b7a3577693265746d73617a767832733234712e617277656176652e6e65742f79777052555876536d525962764c366f565a79777a687672673271697339736a524a736b444e62366c726b2f596f7520617265206e6f7420746865206f776e6572206f66207468697320746f6b656e206f6e204f70656e536561