0x608060405261038460a65534801561001657600080fd5b50613132806100266000396000f3fe608060405234801561001057600080fd5b50600436106103825760003560e01c80636bcb411a116101de578063b20feaaf1161010f578063e7a7250a116100ad578063f301af421161007c578063f301af421461069b578063f900527f146106bd578063fb617787146106d0578063fbfa77cf146106d857600080fd5b8063e7a7250a1461066f578063e941fa7814610677578063f1a392da1461067f578063f2fde38b1461068857600080fd5b8063d0e30db0116100e9578063d0e30db014610644578063d801d9461461064c578063d92f3d7314610654578063dfbdc4371461066757600080fd5b8063b20feaaf14610614578063c1a3d44c14610629578063c7b9d5301461063157600080fd5b80638cfc02501161017c57806397fd323d1161015657806397fd323d146105d3578063a68833e5146105db578063ac1e5025146105ee578063aced16611461060157600080fd5b80638cfc0250146105a75780638da5cb5b146105af5780638e145459146105c057600080fd5b8063748747e6116101b8578063748747e61461056b578063787a08a61461057e5780638456cb591461058b5780638912cb8b1461059357600080fd5b80636bcb411a14610548578063715018a61461055b578063722713f71461056357600080fd5b80633e55f932116102b857806355c64ce1116102565780635c975abb116102305780635c975abb146105155780635fa584ff1461052c57806367a52793146103d55780636817031b1461053557600080fd5b806355c64ce1146104f2578063573fef0a146104fa5780635a3bb9891461050257600080fd5b80634700d305116102925780634700d305146104c65780634746fb55146104ce57806354518b1a146104e1578063547eeac1146104ea57600080fd5b80633e55f932146104a35780633f4ba83a146104b65780634641257d146104be57600080fd5b80631f1fcd5111610325578063257ae0de116102ff578063257ae0de1461046257806327b6f901146104755780632e1a7d4d14610488578063302b260e1461049b57600080fd5b80631f1fcd51146104295780631fe4a6861461043c578063250e4f511461044f57600080fd5b8063106fdbd011610361578063106fdbd0146103c257806311588086146103d557806311b0b42d146103eb57806316d624a51461041657600080fd5b8062542d3f146103875780630e5c011e1461039c5780630e8fbb5a146103af575b600080fd5b61039a6103953660046129a9565b6106eb565b005b61039a6103aa3660046129d7565b6106f8565b61039a6103bd366004612a02565b610704565b61039a6103d03660046129d7565b610747565b60005b6040519081526020015b60405180910390f35b609f546103fe906001600160a01b031681565b6040516001600160a01b0390911681526020016103e2565b61039a610424366004612a02565b6107a4565b609e546103fe906001600160a01b031681565b609a546103fe906001600160a01b031681565b60a3546103fe906001600160a01b031681565b6098546103fe906001600160a01b031681565b61039a610483366004612a1f565b6107bf565b61039a6104963660046129a9565b610a1e565b6103d8610b0a565b61039a6104b13660046129a9565b610bf3565b61039a610c8a565b61039a610ca4565b61039a610cad565b609c546103fe906001600160a01b031681565b6103d861271081565b61039a610cbd565b61039a610dea565b61039a610e5d565b60a1546103fe906001600160a01b031681565b60655460ff165b60405190151581526020016103e2565b6103d860a65481565b61039a6105433660046129d7565b610e99565b60a2546103fe906001600160a01b031681565b61039a610eef565b6103d8610f01565b61039a6105793660046129d7565b610f0c565b60a55461051c9060ff1681565b61039a610f62565b60a35461051c90600160a01b900460ff1681565b6103d8610f7a565b6033546001600160a01b03166103fe565b609b546103fe906001600160a01b031681565b6103d8610fe8565b61039a6105e93660046129d7565b61104d565b61039a6105fc3660046129a9565b6110a3565b6099546103fe906001600160a01b031681565b61061c61111a565b6040516103e29190612ad4565b6103d8611150565b61039a61063f3660046129d7565b611181565b61039a611217565b61039a6112b6565b61039a6106623660046129d7565b6112be565b6103d8603281565b6103d8611314565b6103d8611353565b6103d860a45481565b61039a6106963660046129d7565b611372565b6106ae6106a93660046129a9565b6113e8565b6040516103e293929190612b51565b61039a6106cb366004612b85565b6114b0565b61039a61165e565b6097546103fe906001600160a01b031681565b6106f3611899565b60a655565b610701816118f3565b50565b61070c611899565b60a3805460ff60a01b1916600160a01b8315158102919091179182905560ff9104161561073d5761070160006110a3565b610701600a6110a3565b61074f611a5f565b609c80546001600160a01b0319166001600160a01b0383169081179091556040519081527f91e28ce4210d103c13c5174847e463b836900f8dc63e9d9b42a4255169d19529906020015b60405180910390a150565b6107ac611899565b60a5805460ff1916911515919091179055565b600054610100900460ff16158080156107df5750600054600160ff909116105b806107f95750303b1580156107f9575060005460ff166001145b6108615760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610884576000805461ff0019166101001790555b61088d82611ab9565b609e80546001600160a01b038088166001600160a01b031992831617909255609f805487841690831617905560a18054928616929091168217905560408051635242abb960e01b81529051635242abb9916004808201926020929091908290030181865afa158015610903573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109279190612c10565b60a280546001600160a01b0319166001600160a01b0392831617905560a1546040805163250e4f5160e01b81529051919092169163250e4f519160048083019260209291908290030181865afa158015610985573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a99190612c10565b60a380546001600160a01b0319166001600160a01b03929092169190911790556109d1611c15565b8015610a17576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6097546001600160a01b03163314610a485760405162461bcd60e51b815260040161085890612c2d565b6000610a52611150565b905081811115610a5f5750805b6033546001600160a01b03163214801590610a7d575060655460ff16155b15610aaf576000612710609d5483610a959190612c63565b610a9f9190612c80565b9050610aab8183612ca2565b9150505b609754609e54610acc916001600160a01b03918216911683611c72565b7f5b6b431d4476a211bb7d41c20d1aab9ae2321deee0d20be3d9fc9b1093fa6e3d610af5610f01565b60405190815260200160405180910390a15050565b60a35460408051633526931560e01b815290516000926001600160a01b03169163352693159160048083019260209291908290030181865afa158015610b54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b789190612cb5565b60a354604051638b770e1160e01b81523060048201526001600160a01b0390911690638b770e1190602401602060405180830381865afa158015610bc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be49190612cb5565b610bee9190612cce565b905090565b610bfb611899565b609c54604051631f2afc9960e11b8152600481018390526001600160a01b0390911690633e55f93290602401600060405180830381600087803b158015610c4157600080fd5b505af1158015610c55573d6000803e3d6000fd5b505050507f9163810ee1e29168d4ce900e48a333fb8fbd3fd070d2bef67f6d4db0846a469f8160405161079991815260200190565b610c92611899565b610c9a611cda565b610ca2611c15565b565b610ca2326118f3565b610cb5611899565b610ca2610f62565b60975460408051635463173b60e11b815290516000926001600160a01b03169163a8c62e769160048083019260209291908290030181865afa158015610d07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2b9190612c10565b9050336001600160a01b03821614610d725760405162461bcd60e51b815260206004820152600a602482015269085c1c995d94dd1c985d60b21b6044820152606401610858565b60a15460405163195580e960e21b81526001600160a01b0383811660048301529091169063655603a490602401600060405180830381600087803b158015610db957600080fd5b505af1158015610dcd573d6000803e3d6000fd5b5050609e5461070192506001600160a01b03169050826001611c72565b610df2611899565b60005b60a054811015610e505760985460a08054610e48926001600160a01b03169160009185908110610e2757610e27612ce1565b60009182526020909120600390910201546001600160a01b03169190611d27565b600101610df5565b50610ca260a060006128ab565b60a354600160a01b900460ff1615610ca2576097546001600160a01b03163314610ca45760405162461bcd60e51b815260040161085890612c2d565b610ea1611a5f565b609780546001600160a01b0319166001600160a01b0383169081179091556040519081527fd459c7242e23d490831b5676a611c4342d899d28f342d89ae80793e56a930f3090602001610799565b610ef7611a5f565b610ca26000611e3c565b600080610be4611150565b610f14611899565b609980546001600160a01b0319166001600160a01b0383169081179091556040519081527fefb5cfa1a8690c124332ab93324539c5c9c4be03f28aeb8be86f2d8a0c9fb99b90602001610799565b610f6a611899565b610f72611e8e565b610ca2611ecb565b609c54604051636788231160e11b81523060048201526000916001600160a01b03169063cf104622906024015b602060405180830381865afa158015610fc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bee9190612cb5565b600080610ff3611f26565b90506000610fff611314565b9050670de0b6b3a76400008260400151670de0b6b3a76400008460000151846110289190612c63565b6110329190612c80565b61103c9190612c63565b6110469190612c80565b9250505090565b611055611a5f565b609b80546001600160a01b0319166001600160a01b0383169081179091556040519081527f8041329bf7057543a2c2ff4e4071d1d488a31f82ed44e169b5cd2f04f5e3ac8590602001610799565b6110ab611899565b60328111156110e55760405162461bcd60e51b8152600401610858906020808252600490820152630216361760e41b604082015260600190565b609d8190556040518181527f3aa4413905e8f015896ec5880bdde24088ccb19b578f9fcf6800354d5320d4af90602001610799565b6111226128cc565b6040518060600160405280611135611f26565b815260200160008152602001611149611353565b9052919050565b609e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401610fa7565b609a546001600160a01b031633146111c95760405162461bcd60e51b815260206004820152600b60248201526a085cdd1c985d1959da5cdd60aa1b6044820152606401610858565b609a80546001600160a01b0319166001600160a01b0383169081179091556040519081527f46d58e3fa07bf19b1d27240f0e286b27e9f7c1b0d88933333fe833b60eec541290602001610799565b61121f611fd1565b60a55460ff16156112795760a654611235610b0a565b61123f9190612cce565b4210156112795760405162461bcd60e51b815260206004820152600860248201526731b7b7b63237bbb760c11b6044820152606401610858565b7f4d6ce1e535dbade1c23defba91e23b8f791ce5edc0cc320257a2b364e4e384266112a2610f01565b6040519081526020015b60405180910390a1565b610ca4611899565b6112c6611a5f565b609880546001600160a01b0319166001600160a01b0383169081179091556040519081527f5ca6e64c4522e68e154aa9372f2c5969cd37d9640e59f66953dc472f54ee86fa90602001610799565b60a254609f54604051633515c30760e21b81523060048201526001600160a01b039182166024820152600092919091169063d4570c1c90604401610fa7565b600061136160655460ff1690565b61136c5750609d5490565b50600090565b61137a611a5f565b6001600160a01b0381166113df5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610858565b61070181611e3c565b60a081815481106113f857600080fd5b6000918252602090912060039091020180546001820180546001600160a01b0390921693509061142790612cf7565b80601f016020809104026020016040519081016040528092919081815260200182805461145390612cf7565b80156114a05780601f10611475576101008083540402835291602001916114a0565b820191906000526020600020905b81548152906001019060200180831161148357829003601f168201915b5050505050908060020154905083565b6114b8611a5f565b609e546001600160a01b03908116908516036114fe5760405162461bcd60e51b8152602060048201526005602482015264085dd85b9d60da1b6044820152606401610858565b609f546001600160a01b03908116908516036115465760405162461bcd60e51b8152602060048201526007602482015266216e617469766560c81b6044820152606401610858565b609854611562906001600160a01b038681169116600019611d27565b60006040518060600160405280866001600160a01b0316815260200185858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250938552505050602091820185905260a08054600181018255915282517f78fdc8d422c49ced035a9edf18d00d3c6a8d81df210f3e5e448e045e77b41e88600390920291820180546001600160a01b0319166001600160a01b039092169190911781559183015192935083927f78fdc8d422c49ced035a9edf18d00d3c6a8d81df210f3e5e448e045e77b41e899091019061164a9082612d95565b506040820151816002015550505050505050565b6097546001600160a01b031633146116885760405162461bcd60e51b815260040161085890612c2d565b60975460408051630edbf57760e31b815281516000936001600160a01b0316926376dfabb892600480820193918290030181865afa1580156116ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f29190612eaf565b805160a15460405163ef9aacfd60e01b81526001600160a01b0380841660048301529394509192169063ef9aacfd90602401600060405180830381600087803b15801561173e57600080fd5b505af1158015611752573d6000803e3d6000fd5b50505050806001600160a01b031663547eeac16040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561179157600080fd5b505af11580156117a5573d6000803e3d6000fd5b5050609e546040516370a0823160e01b8152306004820152600093506001600160a01b0390911691506370a0823190602401602060405180830381865afa1580156117f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118189190612cb5565b609e5460975460405163a9059cbb60e01b81526001600160a01b03918216600482015260248101849052929350169063a9059cbb906044016020604051808303816000875af115801561186f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118939190612f17565b50505050565b6033546001600160a01b03163314806118bc57506099546001600160a01b031633145b610ca25760405162461bcd60e51b815260206004820152600860248201526710b6b0b730b3b2b960c11b6044820152606401610858565b6118fb611fd1565b60a154604051630e7cf6c160e41b815260006004820181905260248201526001600160a01b039091169063e7cf6c1090604401600060405180830381600087803b15801561194857600080fd5b505af115801561195c573d6000803e3d6000fd5b50505050611968612017565b609f546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156119b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119d59190612cb5565b90508015611a5b576119e6826121ae565b60006119f0611150565b90506119fa61235d565b600081611a05611150565b611a0f9190612ca2565b4260a4559050337f9bc239f1724cacfb88cb1d66a2dc437467699b68a8c90d7b63110cf4b6f9241082611a40610f01565b6040805192835260208301919091520160405180910390a250505b5050565b6033546001600160a01b03163314610ca25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610858565b600054610100900460ff16611ae05760405162461bcd60e51b815260040161085890612f34565b611ae86124ad565b611af06124dc565b611afd60208201826129d7565b609780546001600160a01b0319166001600160a01b0392909216919091179055611b2d60408201602083016129d7565b609880546001600160a01b0319166001600160a01b0392909216919091179055611b5d60608201604083016129d7565b609980546001600160a01b0319166001600160a01b0392909216919091179055611b8d60808201606083016129d7565b609a80546001600160a01b0319166001600160a01b0392909216919091179055611bbd60a08201608083016129d7565b609b80546001600160a01b0319166001600160a01b0392909216919091179055611bed60c0820160a083016129d7565b609c80546001600160a01b0319166001600160a01b039290921691909117905550600a609d55565b60a354609f54611c34916001600160a01b039182169116600019611d27565b60005b60a0548110156107015760985460a08054611c6a926001600160a01b0316916000199185908110610e2757610e27612ce1565b600101611c37565b6040516001600160a01b038316602482015260448101829052611cd590849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261250b565b505050565b611ce26125dd565b6065805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b0390911681526020016112ac565b801580611da15750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015611d7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d9f9190612cb5565b155b611e0c5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610858565b6040516001600160a01b038316602482015260448101829052611cd590849063095ea7b360e01b90606401611c9e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611e96611fd1565b6065805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611d0f3390565b60a354609f54611ee9916001600160a01b0391821691166000611d27565b60005b60a0548110156107015760985460a08054611f1e926001600160a01b03169160009185908110610e2757610e27612ce1565b600101611eec565b611f616040518060c0016040528060008152602001600081526020016000815260200160008152602001606081526020016000151581525090565b609c54604051639af608c960e01b81523060048201526001600160a01b0390911690639af608c990602401600060405180830381865afa158015611fa9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610bee9190810190612f7f565b60655460ff1615610ca25760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610858565b60005b60a05481101561070157600060a0828154811061203957612039612ce1565b6000918252602091829020604080516060810190915260039092020180546001600160a01b03168252600181018054929391929184019161207990612cf7565b80601f01602080910402602001604051908101604052809291908181526020018280546120a590612cf7565b80156120f25780601f106120c7576101008083540402835291602001916120f2565b820191906000526020600020905b8154815290600101906020018083116120d557829003601f168201915b50505091835250506002919091015460209091015280516040516370a0823160e01b81523060048201529192506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015612154573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121789190612cb5565b905081604001518111156121a45760985460208301516121a2916001600160a01b03169083612626565b505b505060010161201a565b60006121b8611f26565b8051609f546040516370a0823160e01b8152306004820152929350600092670de0b6b3a764000092916001600160a01b0316906370a0823190602401602060405180830381865afa158015612211573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122359190612cb5565b61223f9190612c63565b6122499190612c80565b90506000670de0b6b3a76400008360400151836122669190612c63565b6122709190612c80565b609f5490915061228a906001600160a01b03168583611c72565b6000670de0b6b3a76400008460200151846122a59190612c63565b6122af9190612c80565b609b54609f549192506122cf916001600160a01b03908116911683611c72565b6000670de0b6b3a76400008560600151856122ea9190612c63565b6122f49190612c80565b609a54609f54919250612314916001600160a01b03908116911683611c72565b60408051848152602081018490529081018290527fd255b592c7f268a73e534da5219a60ff911b4cf6daae21c7d20527dd657bd99a9060600160405180910390a1505050505050565b60a55460ff16156123b75760a654612373610b0a565b61237d9190612cce565b4210156123b75760405162461bcd60e51b815260206004820152600860248201526731b7b7b63237bbb760c11b6044820152606401610858565b609f546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015612400573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124249190612cb5565b60a154609f54604051633b2e7b9f60e11b81526001600160a01b039182166004820152602481018490526000604482018190526064820152929350169063765cf73e906084016020604051808303816000875af1158015612489573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5b9190612cb5565b600054610100900460ff166124d45760405162461bcd60e51b815260040161085890612f34565b610ca26126c7565b600054610100900460ff166125035760405162461bcd60e51b815260040161085890612f34565b610ca26126f7565b6000612560826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661272a9092919063ffffffff16565b805190915015611cd5578080602001905181019061257e9190612f17565b611cd55760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610858565b60655460ff16610ca25760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610858565b6040805160a081018252838152306020820152428183015260608101839052600060808201819052915163c04b8d5960e01b81526001600160a01b0386169063c04b8d5990612679908490600401613075565b6020604051808303816000875af1158015612698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126bc9190612cb5565b9150505b9392505050565b600054610100900460ff166126ee5760405162461bcd60e51b815260040161085890612f34565b610ca233611e3c565b600054610100900460ff1661271e5760405162461bcd60e51b815260040161085890612f34565b6065805460ff19169055565b60606127398484600085612741565b949350505050565b6060824710156127a25760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610858565b6001600160a01b0385163b6127f95760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610858565b600080866001600160a01b0316858760405161281591906130cd565b60006040518083038185875af1925050503d8060008114612852576040519150601f19603f3d011682016040523d82523d6000602084013e612857565b606091505b5091509150612867828286612872565b979650505050505050565b606083156128815750816126c0565b8251156128915782518084602001fd5b8160405162461bcd60e51b815260040161085891906130e9565b50805460008255600302906000526020600020908101906107019190612926565b60405180606001604052806129126040518060c0016040528060008152602001600081526020016000815260200160008152602001606081526020016000151581525090565b815260200160008152602001600081525090565b8082111561295b5780546001600160a01b0319168155600061294b600183018261295f565b5060006002820155600301612926565b5090565b50805461296b90612cf7565b6000825580601f1061297b575050565b601f01602090049060005260206000209081019061070191905b8082111561295b5760008155600101612995565b6000602082840312156129bb57600080fd5b5035919050565b6001600160a01b038116811461070157600080fd5b6000602082840312156129e957600080fd5b81356126c0816129c2565b801515811461070157600080fd5b600060208284031215612a1457600080fd5b81356126c0816129f4565b600080600080848603610120811215612a3757600080fd5b8535612a42816129c2565b94506020860135612a52816129c2565b93506040860135612a62816129c2565b925060c0605f1982011215612a7657600080fd5b509295919450926060019150565b60005b83811015612a9f578181015183820152602001612a87565b50506000910152565b60008151808452612ac0816020860160208601612a84565b601f01601f19169290920160200192915050565b60208152600082516060602084015280516080840152602081015160a0840152604081015160c0840152606081015160e0840152608081015160c0610100850152612b23610140850182612aa8565b905060a082015115156101208501526020850151604085015260408501516060850152809250505092915050565b6001600160a01b0384168152606060208201819052600090612b7590830185612aa8565b9050826040830152949350505050565b60008060008060608587031215612b9b57600080fd5b8435612ba6816129c2565b9350602085013567ffffffffffffffff80821115612bc357600080fd5b818701915087601f830112612bd757600080fd5b813581811115612be657600080fd5b886020828501011115612bf857600080fd5b95986020929092019750949560400135945092505050565b600060208284031215612c2257600080fd5b81516126c0816129c2565b602080825260069082015265085d985d5b1d60d21b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417612c7a57612c7a612c4d565b92915050565b600082612c9d57634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115612c7a57612c7a612c4d565b600060208284031215612cc757600080fd5b5051919050565b80820180821115612c7a57612c7a612c4d565b634e487b7160e01b600052603260045260246000fd5b600181811c90821680612d0b57607f821691505b602082108103612d2b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b601f821115611cd557600081815260208120601f850160051c81016020861015612d6e5750805b601f850160051c820191505b81811015612d8d57828155600101612d7a565b505050505050565b815167ffffffffffffffff811115612daf57612daf612d31565b612dc381612dbd8454612cf7565b84612d47565b602080601f831160018114612df85760008415612de05750858301515b600019600386901b1c1916600185901b178555612d8d565b600085815260208120601f198616915b82811015612e2757888601518255948401946001909101908401612e08565b5085821015612e455787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60405160c0810167ffffffffffffffff81118282101715612e7857612e78612d31565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612ea757612ea7612d31565b604052919050565b600060408284031215612ec157600080fd5b6040516040810181811067ffffffffffffffff82111715612ee457612ee4612d31565b6040528251612ef2816129c2565b81526020928301519281019290925250919050565b8051612f12816129f4565b919050565b600060208284031215612f2957600080fd5b81516126c0816129f4565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006020808385031215612f9257600080fd5b825167ffffffffffffffff80821115612faa57600080fd5b9084019060c08287031215612fbe57600080fd5b612fc6612e55565b8251815283830151848201526040830151604082015260608301516060820152608083015182811115612ff857600080fd5b8301601f8101881361300957600080fd5b80518381111561301b5761301b612d31565b61302d601f8201601f19168701612e7e565b9350808452888682840101111561304357600080fd5b61305281878601888501612a84565b505081608082015261306660a08401612f07565b60a08201529695505050505050565b602081526000825160a0602084015261309160c0840182612aa8565b905060018060a01b0360208501511660408401526040840151606084015260608401516080840152608084015160a08401528091505092915050565b600082516130df818460208701612a84565b9190910192915050565b6020815260006126c06020830184612aa856fea26469706673582212208d9aab7f0dcc2d1ca7e4f65c180fffde856810eb0e9fbcc85a2561cfc4abde1764736f6c63430008130033