Returned Raw Transaction Hex :
0x02f946d0010d8477359400851de8a145068334cfba8080b946766101406040523480156200001257600080fd5b50604051620045d6380380620045d6833981810160405281019062000038919062000584565b62000048620002b260201b60201c565b856040518060400160405280601f81526020017f52657475726e2046696e616e636520537061726b2055534443205661756c74008152506040518060400160405280600781526020017f72667355534443000000000000000000000000000000000000000000000000008152508160039081620000c691906200087c565b508060049081620000d891906200087c565b505050600080620000ef83620002ba60201b60201c565b91509150816200010157601262000103565b805b60ff1660a08160ff16815250508273ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620001bc5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620001b3919062000974565b60405180910390fd5b620001cd81620003d460201b60201c565b508473ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff166101008173ffffffffffffffffffffffffffffffffffffffff16815250508173ffffffffffffffffffffffffffffffffffffffff166101208173ffffffffffffffffffffffffffffffffffffffff168152505080600681905550505050505062000a55565b600033905090565b6000806000808473ffffffffffffffffffffffffffffffffffffffff1660405160240160405160208183030381529060405263313ce56760e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405162000331919062000a0a565b600060405180830381855afa9150503d80600081146200036e576040519150601f19603f3d011682016040523d82523d6000602084013e62000373565b606091505b50915091508180156200038857506020815110155b15620003c557600081806020019051810190620003a6919062000a23565b905060ff80168111620003c35760018194509450505050620003cf565b505b6000809350935050505b915091565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620004cc826200049f565b9050919050565b6000620004e082620004bf565b9050919050565b620004f281620004d3565b8114620004fe57600080fd5b50565b6000815190506200051281620004e7565b92915050565b6200052381620004bf565b81146200052f57600080fd5b50565b600081519050620005438162000518565b92915050565b6000819050919050565b6200055e8162000549565b81146200056a57600080fd5b50565b6000815190506200057e8162000553565b92915050565b600080600080600060a08688031215620005a357620005a26200049a565b5b6000620005b38882890162000501565b9550506020620005c68882890162000532565b9450506040620005d98882890162000532565b9350506060620005ec8882890162000532565b9250506080620005ff888289016200056d565b9150509295509295909350565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200068e57607f821691505b602082108103620006a457620006a362000646565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200070e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620006cf565b6200071a8683620006cf565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200075d62000757620007518462000549565b62000732565b62000549565b9050919050565b6000819050919050565b62000779836200073c565b62000791620007888262000764565b848454620006dc565b825550505050565b600090565b620007a862000799565b620007b58184846200076e565b505050565b5b81811015620007dd57620007d16000826200079e565b600181019050620007bb565b5050565b601f8211156200082c57620007f681620006aa565b6200080184620006bf565b8101602085101562000811578190505b620008296200082085620006bf565b830182620007ba565b50505b505050565b600082821c905092915050565b6000620008516000198460080262000831565b1980831691505092915050565b60006200086c83836200083e565b9150826002028217905092915050565b62000887826200060c565b67ffffffffffffffff811115620008a357620008a262000617565b5b620008af825462000675565b620008bc828285620007e1565b600060209050601f831160018114620008f45760008415620008df578287015190505b620008eb85826200085e565b8655506200095b565b601f1984166200090486620006aa565b60005b828110156200092e5784890151825560018201915060208501945060208101905062000907565b868310156200094e57848901516200094a601f8916826200083e565b8355505b6001600288020188555050505b505050505050565b6200096e81620004bf565b82525050565b60006020820190506200098b600083018462000963565b92915050565b600081519050919050565b600081905092915050565b60005b83811015620009c7578082015181840152602081019050620009aa565b60008484015250505050565b6000620009e08262000991565b620009ec81856200099c565b9350620009fe818560208601620009a7565b80840191505092915050565b600062000a188284620009d3565b915081905092915050565b60006020828403121562000a3c5762000a3b6200049a565b5b600062000a4c848285016200056d565b91505092915050565b60805160a05160c05160e0516101005161012051613aba62000b1c60003960008181610eb70152818161237a015281816126cd0152612c24015260008181610a67015281816110770152818161151d0152818161248b0152818161250e01526125b40152600081816116dc015281816124230152818161244f015281816126910152612763015260008181610fdf0152818161233e01528181612402015261278401526000610ee5015260008181610fb30152818161226201526128120152613aba6000f3fe6080604052600436106102345760003560e01c806370a082311161012e578063c63d75b6116100ab578063e53b20171161006f578063e53b201714610972578063ef8b30f71461099b578063f0fa55a9146109d8578063f2fde38b14610a01578063f4b9fa7514610a2a5761027b565b8063c63d75b614610841578063c6e6f5921461087e578063ce96cb77146108bb578063d905777e146108f8578063dd62ed3e146109355761027b565b80639b19251a116100f25780639b19251a14610710578063a9059cbb1461074d578063b3d7f6b91461078a578063b460af94146107c7578063ba087652146108045761027b565b806370a0823114610629578063715018a6146106665780638da5cb5b1461067d57806394bf804d146106a857806395d89b41146106e55761027b565b8063313ce567116101bc578063402d267d11610180578063402d267d1461051e5780634cdad5061461055b5780635e7b5fbf14610598578063638bc789146105c15780636e553f65146105ec5761027b565b8063313ce56714610449578063349123d11461047457806338d52e0f1461049d5780633e032a3b146104c85780633e413bee146104f35761027b565b80630a28a477116102035780630a28a477146103505780630fe289081461038d57806318160ddd146103b657806323b872dd146103e15780632c76d7a61461041e5761027b565b806301e1d1141461028057806306fdde03146102ab57806307a2d13a146102d6578063095ea7b3146103135761027b565b3661027b577f29a047f6fd84d8cae8b3b33dbfe103e58528cfd4af40aab48f111b019ed380a3610262610a55565b34604051610271929190612deb565b60405180910390a1005b600080fd5b34801561028c57600080fd5b50610295610a5d565b6040516102a29190612e14565b60405180910390f35b3480156102b757600080fd5b506102c0610b0e565b6040516102cd9190612ebf565b60405180910390f35b3480156102e257600080fd5b506102fd60048036038101906102f89190612f21565b610ba0565b60405161030a9190612e14565b60405180910390f35b34801561031f57600080fd5b5061033a60048036038101906103359190612f7a565b610bb4565b6040516103479190612fd5565b60405180910390f35b34801561035c57600080fd5b5061037760048036038101906103729190612f21565b610bd7565b6040516103849190612e14565b60405180910390f35b34801561039957600080fd5b506103b460048036038101906103af9190612ff0565b610beb565b005b3480156103c257600080fd5b506103cb610e7c565b6040516103d89190612e14565b60405180910390f35b3480156103ed57600080fd5b506104086004803603810190610403919061301d565b610e86565b6040516104159190612fd5565b60405180910390f35b34801561042a57600080fd5b50610433610eb5565b6040516104409190613070565b60405180910390f35b34801561045557600080fd5b5061045e610ed9565b60405161046b91906130a7565b60405180910390f35b34801561048057600080fd5b5061049b600480360381019061049691906130ee565b610f13565b005b3480156104a957600080fd5b506104b2610faf565b6040516104bf9190613070565b60405180910390f35b3480156104d457600080fd5b506104dd610fd7565b6040516104ea9190612e14565b60405180910390f35b3480156104ff57600080fd5b50610508610fdd565b6040516105159190613070565b60405180910390f35b34801561052a57600080fd5b5061054560048036038101906105409190612ff0565b611001565b6040516105529190612e14565b60405180910390f35b34801561056757600080fd5b50610582600480360381019061057d9190612f21565b61102b565b60405161058f9190612e14565b60405180910390f35b3480156105a457600080fd5b506105bf60048036038101906105ba9190613263565b61103f565b005b3480156105cd57600080fd5b506105d6611075565b6040516105e39190613070565b60405180910390f35b3480156105f857600080fd5b50610613600480360381019061060e91906132bf565b611099565b6040516106209190612e14565b60405180910390f35b34801561063557600080fd5b50610650600480360381019061064b9190612ff0565b61111b565b60405161065d9190612e14565b60405180910390f35b34801561067257600080fd5b5061067b611163565b005b34801561068957600080fd5b50610692611177565b60405161069f9190613070565b60405180910390f35b3480156106b457600080fd5b506106cf60048036038101906106ca91906132bf565b6111a1565b6040516106dc9190612e14565b60405180910390f35b3480156106f157600080fd5b506106fa611223565b6040516107079190612ebf565b60405180910390f35b34801561071c57600080fd5b5061073760048036038101906107329190612ff0565b6112b5565b6040516107449190612fd5565b60405180910390f35b34801561075957600080fd5b50610774600480360381019061076f9190612f7a565b6112d5565b6040516107819190612fd5565b60405180910390f35b34801561079657600080fd5b506107b160048036038101906107ac9190612f21565b6112f8565b6040516107be9190612e14565b60405180910390f35b3480156107d357600080fd5b506107ee60048036038101906107e991906132ff565b61130c565b6040516107fb9190612e14565b60405180910390f35b34801561081057600080fd5b5061082b600480360381019061082691906132ff565b611390565b6040516108389190612e14565b60405180910390f35b34801561084d57600080fd5b5061086860048036038101906108639190612ff0565b611414565b6040516108759190612e14565b60405180910390f35b34801561088a57600080fd5b506108a560048036038101906108a09190612f21565b61143e565b6040516108b29190612e14565b60405180910390f35b3480156108c757600080fd5b506108e260048036038101906108dd9190612ff0565b611452565b6040516108ef9190612e14565b60405180910390f35b34801561090457600080fd5b5061091f600480360381019061091a9190612ff0565b61146e565b60405161092c9190612e14565b60405180910390f35b34801561094157600080fd5b5061095c60048036038101906109579190613352565b611480565b6040516109699190612e14565b60405180910390f35b34801561097e57600080fd5b5061099960048036038101906109949190612ff0565b611507565b005b3480156109a757600080fd5b506109c260048036038101906109bd9190612f21565b6115f7565b6040516109cf9190612e14565b60405180910390f35b3480156109e457600080fd5b506109ff60048036038101906109fa9190612f21565b61160b565b005b348015610a0d57600080fd5b50610a286004803603810190610a239190612ff0565b611654565b005b348015610a3657600080fd5b50610a3f6116da565b604051610a4c9190613070565b60405180910390f35b600033905090565b600064e8d4a510007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ce96cb77306040518263ffffffff1660e01b8152600401610abe9190613070565b602060405180830381865afa158015610adb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aff91906133a7565b610b099190613432565b905090565b606060038054610b1d90613492565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4990613492565b8015610b965780601f10610b6b57610100808354040283529160200191610b96565b820191906000526020600020905b815481529060010190602001808311610b7957829003601f168201915b5050505050905090565b6000610bad8260006116fe565b9050919050565b600080610bbf610a55565b9050610bcc818585611757565b600191505092915050565b6000610be4826001611769565b9050919050565b610bf36117c2565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d1b576000610c31611177565b73ffffffffffffffffffffffffffffffffffffffff1647604051610c54906134f4565b60006040518083038185875af1925050503d8060008114610c91576040519150601f19603f3d011682016040523d82523d6000602084013e610c96565b606091505b5050905080610cdc57816040517f8df9e3eb000000000000000000000000000000000000000000000000000000008152600401610cd39190613070565b60405180910390fd5b7fdc0a5915a6b7c8261db17a13f9bde0836f7cb970ba0eb51255b272aac2ceaa6a8247604051610d0d929190612deb565b60405180910390a150610e79565b610dc6610d26611177565b8273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610d5f9190613070565b602060405180830381865afa158015610d7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da091906133a7565b8373ffffffffffffffffffffffffffffffffffffffff166118499092919063ffffffff16565b7fdc0a5915a6b7c8261db17a13f9bde0836f7cb970ba0eb51255b272aac2ceaa6a818273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610e219190613070565b602060405180830381865afa158015610e3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6291906133a7565b604051610e70929190612deb565b60405180910390a15b50565b6000600254905090565b600080610e91610a55565b9050610e9e8582856118c8565b610ea985858561195c565b60019150509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610ee3611a50565b7f0000000000000000000000000000000000000000000000000000000000000000610f0e9190613509565b905090565b610f1b6117c2565b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507faf367c7d20ce5b2ab6da56afd0c9c39b00ba995263c60292a3e1ee3781fd48858282604051610fa392919061353e565b60405180910390a15050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60065481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050919050565b60006110388260006116fe565b9050919050565b6110476117c2565b611070818373ffffffffffffffffffffffffffffffffffffffff16611a5590919063ffffffff16565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000806110a583611001565b9050808411156110f0578284826040517f79012fb20000000000000000000000000000000000000000000000000000000081526004016110e793929190613567565b60405180910390fd5b60006110fb856115f7565b9050611110611108610a55565b858784611a6b565b809250505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61116b6117c2565b6111756000611b22565b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000806111ad83611414565b9050808411156111f8578284826040517f284ff6670000000000000000000000000000000000000000000000000000000081526004016111ef93929190613567565b60405180910390fd5b6000611203856112f8565b9050611218611210610a55565b858388611a6b565b809250505092915050565b60606004805461123290613492565b80601f016020809104026020016040519081016040528092919081815260200182805461125e90613492565b80156112ab5780601f10611280576101008083540402835291602001916112ab565b820191906000526020600020905b81548152906001019060200180831161128e57829003601f168201915b5050505050905090565b60076020528060005260406000206000915054906101000a900460ff1681565b6000806112e0610a55565b90506112ed81858561195c565b600191505092915050565b60006113058260016116fe565b9050919050565b60008061131883611452565b905080851115611363578285826040517ffe9cceec00000000000000000000000000000000000000000000000000000000815260040161135a93929190613567565b60405180910390fd5b600061136e86610bd7565b905061138461137b610a55565b86868985611be8565b80925050509392505050565b60008061139c8361146e565b9050808511156113e7578285826040517fb94abeec0000000000000000000000000000000000000000000000000000000081526004016113de93929190613567565b60405180910390fd5b60006113f28661102b565b90506114086113ff610a55565b8686848a611be8565b80925050509392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050919050565b600061144b826000611769565b9050919050565b60006114676114608361111b565b60006116fe565b9050919050565b60006114798261111b565b9050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61150f6117c2565b6000611519610a5d565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b460af948284306040518463ffffffff1660e01b81526004016115789392919061359e565b6020604051808303816000875af1158015611597573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115bb91906133a7565b507f8dddfb0fe32b5cc02812108dd5fe699a4ce5aaaf1db07b1612566cef381a26b7816040516115eb9190612e14565b60405180910390a15050565b6000611604826000611769565b9050919050565b6116136117c2565b806006819055507ff5a802650e0a86db227cc342f06327d2ca0ff5cf2b12e0084fc5d8a7db2c54fd816040516116499190612e14565b60405180910390a150565b61165c6117c2565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116ce5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016116c59190613070565b60405180910390fd5b6116d781611b22565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061174f600161170d610a5d565b61171791906135d5565b61171f611a50565b600a61172b919061373c565b611733610e7c565b61173d91906135d5565b8486611ca6909392919063ffffffff16565b905092915050565b6117648383836001611cfd565b505050565b60006117ba611776611a50565b600a611782919061373c565b61178a610e7c565b61179491906135d5565b600161179e610a5d565b6117a891906135d5565b8486611ca6909392919063ffffffff16565b905092915050565b6117ca610a55565b73ffffffffffffffffffffffffffffffffffffffff166117e8611177565b73ffffffffffffffffffffffffffffffffffffffff16146118475761180b610a55565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161183e9190613070565b60405180910390fd5b565b6118c3838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb858560405160240161187c929190612deb565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ed4565b505050565b60006118d48484611480565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146119565781811015611946578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161193d93929190613567565b60405180910390fd5b61195584848484036000611cfd565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119ce5760006040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016119c59190613070565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a405760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611a379190613070565b60405180910390fd5b611a4b838383611f6b565b505050565b600090565b6060611a6383836000612190565b905092915050565b60076000611a77610a55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611b0757611acb610a55565b6040517fe19a2672000000000000000000000000000000000000000000000000000000008152600401611afe9190613070565b60405180910390fd5b611b138484848461225d565b611b1c82612300565b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60076000611bf4610a55565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611c8457611c48610a55565b6040517fe19a2672000000000000000000000000000000000000000000000000000000008152600401611c7b9190613070565b60405180910390fd5b6000611c8f836125b0565b9050611c9e86868684866127c4565b505050505050565b600080611cb48686866128bd565b9050611cbf836129c4565b8015611cdc575060008480611cd757611cd66133d4565b5b868809115b15611cf157600181611cee91906135d5565b90505b80915050949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611d6f5760006040517fe602df05000000000000000000000000000000000000000000000000000000008152600401611d669190613070565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611de15760006040517f94280d62000000000000000000000000000000000000000000000000000000008152600401611dd89190613070565b60405180910390fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508015611ece578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611ec59190612e14565b60405180910390a35b50505050565b6000611eff828473ffffffffffffffffffffffffffffffffffffffff16611a5590919063ffffffff16565b90506000815114158015611f24575080806020019051810190611f22919061379c565b155b15611f6657826040517f5274afe7000000000000000000000000000000000000000000000000000000008152600401611f5d9190613070565b60405180910390fd5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611fbd578060026000828254611fb191906135d5565b92505081905550612090565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612049578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161204093929190613567565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120d95780600260008282540392505081905550612126565b806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121839190612e14565b60405180910390a3505050565b6060814710156121d757306040517fcd7860590000000000000000000000000000000000000000000000000000000081526004016121ce9190613070565b60405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1684866040516122009190613805565b60006040518083038185875af1925050503d806000811461223d576040519150601f19603f3d011682016040523d82523d6000602084013e612242565b606091505b50915091506122528683836129f2565b925050509392505050565b6122897f0000000000000000000000000000000000000000000000000000000000000000853085612a81565b6122938382612b03565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d784846040516122f292919061381c565b60405180910390a350505050565b600061271064e8d4a51000836123169190613845565b6006546127106123269190613887565b6123309190613845565b61233a9190613432565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000000000000000000000000000000000000000000000846040518363ffffffff1660e01b81526004016123b7929190612deb565b6020604051808303816000875af11580156123d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123fa919061379c565b50600061244b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000085856064612b85565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b81526004016124c8929190612deb565b6020604051808303816000875af11580156124e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061250b919061379c565b507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636e553f6582306040518363ffffffff1660e01b81526004016125679291906138bb565b6020604051808303816000875af1158015612586573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125aa91906133a7565b50505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663b460af9464e8d4a51000846125ff9190613845565b30306040518463ffffffff1660e01b815260040161261f9392919061359e565b6020604051808303816000875af115801561263e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061266291906133a7565b506000612710836006546127106126799190613887565b6126839190613845565b61268d9190613432565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f000000000000000000000000000000000000000000000000000000000000000064e8d4a51000866126fd9190613845565b6040518363ffffffff1660e01b815260040161271a929190612deb565b6020604051808303816000875af1158015612739573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275d919061379c565b506127bc7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000064e8d4a51000866127b49190613845565b846064612b85565b915050919050565b8273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614612803576128028386836118c8565b5b61280d8382612cca565b6128387f00000000000000000000000000000000000000000000000000000000000000008584611849565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db85856040516128ae92919061381c565b60405180910390a45050505050565b60008083850290506000801985870982811083820303915050600081036128f8578382816128ee576128ed6133d4565b5b04925050506129bd565b808411612931576040517f227bc15300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084868809905082811182039150808303925060008560000386169050808604955080840493506001818260000304019050808302841793506000600287600302189050808702600203810290508087026002038102905080870260020381029050808702600203810290508087026002038102905080870260020381029050808502955050505050505b9392505050565b6000600160028360038111156129dd576129dc6138e4565b5b6129e79190613913565b60ff16149050919050565b606082612a0757612a0282612d4c565b612a79565b60008251148015612a2f575060008473ffffffffffffffffffffffffffffffffffffffff163b145b15612a7157836040517f9996b315000000000000000000000000000000000000000000000000000000008152600401612a689190613070565b60405180910390fd5b819050612a7a565b5b9392505050565b612afd848573ffffffffffffffffffffffffffffffffffffffff166323b872dd868686604051602401612ab693929190613944565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611ed4565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612b755760006040517fec442f05000000000000000000000000000000000000000000000000000000008152600401612b6c9190613070565b60405180910390fd5b612b8160008383611f6b565b5050565b6000806040518061010001604052808873ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1681526020018462ffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff168152602001428152602001868152602001858152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663414bf389826040518263ffffffff1660e01b8152600401612c7b9190613a68565b6020604051808303816000875af1158015612c9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cbe91906133a7565b91505095945050505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612d3c5760006040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401612d339190613070565b60405180910390fd5b612d4882600083611f6b565b5050565b600081511115612d5f5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612dbc82612d91565b9050919050565b612dcc81612db1565b82525050565b6000819050919050565b612de581612dd2565b82525050565b6000604082019050612e006000830185612dc3565b612e0d6020830184612ddc565b9392505050565b6000602082019050612e296000830184612ddc565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612e69578082015181840152602081019050612e4e565b60008484015250505050565b6000601f19601f8301169050919050565b6000612e9182612e2f565b612e9b8185612e3a565b9350612eab818560208601612e4b565b612eb481612e75565b840191505092915050565b60006020820190508181036000830152612ed98184612e86565b905092915050565b6000604051905090565b600080fd5b600080fd5b612efe81612dd2565b8114612f0957600080fd5b50565b600081359050612f1b81612ef5565b92915050565b600060208284031215612f3757612f36612eeb565b5b6000612f4584828501612f0c565b91505092915050565b612f5781612db1565b8114612f6257600080fd5b50565b600081359050612f7481612f4e565b92915050565b60008060408385031215612f9157612f90612eeb565b5b6000612f9f85828601612f65565b9250506020612fb085828601612f0c565b9150509250929050565b60008115159050919050565b612fcf81612fba565b82525050565b6000602082019050612fea6000830184612fc6565b92915050565b60006020828403121561300657613005612eeb565b5b600061301484828501612f65565b91505092915050565b60008060006060848603121561303657613035612eeb565b5b600061304486828701612f65565b935050602061305586828701612f65565b925050604061306686828701612f0c565b9150509250925092565b60006020820190506130856000830184612dc3565b92915050565b600060ff82169050919050565b6130a18161308b565b82525050565b60006020820190506130bc6000830184613098565b92915050565b6130cb81612fba565b81146130d657600080fd5b50565b6000813590506130e8816130c2565b92915050565b6000806040838503121561310557613104612eeb565b5b600061311385828601612f65565b9250506020613124858286016130d9565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61317082612e75565b810181811067ffffffffffffffff8211171561318f5761318e613138565b5b80604052505050565b60006131a2612ee1565b90506131ae8282613167565b919050565b600067ffffffffffffffff8211156131ce576131cd613138565b5b6131d782612e75565b9050602081019050919050565b82818337600083830152505050565b6000613206613201846131b3565b613198565b90508281526020810184848401111561322257613221613133565b5b61322d8482856131e4565b509392505050565b600082601f83011261324a5761324961312e565b5b813561325a8482602086016131f3565b91505092915050565b6000806040838503121561327a57613279612eeb565b5b600061328885828601612f65565b925050602083013567ffffffffffffffff8111156132a9576132a8612ef0565b5b6132b585828601613235565b9150509250929050565b600080604083850312156132d6576132d5612eeb565b5b60006132e485828601612f0c565b92505060206132f585828601612f65565b9150509250929050565b60008060006060848603121561331857613317612eeb565b5b600061332686828701612f0c565b935050602061333786828701612f65565b925050604061334886828701612f65565b9150509250925092565b6000806040838503121561336957613368612eeb565b5b600061337785828601612f65565b925050602061338885828601612f65565b9150509250929050565b6000815190506133a181612ef5565b92915050565b6000602082840312156133bd576133bc612eeb565b5b60006133cb84828501613392565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061343d82612dd2565b915061344883612dd2565b925082613458576134576133d4565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806134aa57607f821691505b6020821081036134bd576134bc613463565b5b50919050565b600081905092915050565b50565b60006134de6000836134c3565b91506134e9826134ce565b600082019050919050565b60006134ff826134d1565b9150819050919050565b60006135148261308b565b915061351f8361308b565b9250828201905060ff81111561353857613537613403565b5b92915050565b60006040820190506135536000830185612dc3565b6135606020830184612fc6565b9392505050565b600060608201905061357c6000830186612dc3565b6135896020830185612ddc565b6135966040830184612ddc565b949350505050565b60006060820190506135b36000830186612ddc565b6135c06020830185612dc3565b6135cd6040830184612dc3565b949350505050565b60006135e082612dd2565b91506135eb83612dd2565b925082820190508082111561360357613602613403565b5b92915050565b60008160011c9050919050565b6000808291508390505b60018511156136605780860481111561363c5761363b613403565b5b600185161561364b5780820291505b808102905061365985613609565b9450613620565b94509492505050565b6000826136795760019050613735565b816136875760009050613735565b816001811461369d57600281146136a7576136d6565b6001915050613735565b60ff8411156136b9576136b8613403565b5b8360020a9150848211156136d0576136cf613403565b5b50613735565b5060208310610133831016604e8410600b841016171561370b5782820a90508381111561370657613705613403565b5b613735565b6137188484846001613616565b9250905081840481111561372f5761372e613403565b5b81810290505b9392505050565b600061374782612dd2565b91506137528361308b565b925061377f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613669565b905092915050565b600081519050613796816130c2565b92915050565b6000602082840312156137b2576137b1612eeb565b5b60006137c084828501613787565b91505092915050565b600081519050919050565b60006137df826137c9565b6137e981856134c3565b93506137f9818560208601612e4b565b80840191505092915050565b600061381182846137d4565b915081905092915050565b60006040820190506138316000830185612ddc565b61383e6020830184612ddc565b9392505050565b600061385082612dd2565b915061385b83612dd2565b925082820261386981612dd2565b915082820484148315176138805761387f613403565b5b5092915050565b600061389282612dd2565b915061389d83612dd2565b92508282039050818111156138b5576138b4613403565b5b92915050565b60006040820190506138d06000830185612ddc565b6138dd6020830184612dc3565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600061391e8261308b565b91506139298361308b565b925082613939576139386133d4565b5b828206905092915050565b60006060820190506139596000830186612dc3565b6139666020830185612dc3565b6139736040830184612ddc565b949350505050565b61398481612db1565b82525050565b600062ffffff82169050919050565b6139a28161398a565b82525050565b6139b181612dd2565b82525050565b6139c081612d91565b82525050565b610100820160008201516139dd600085018261397b565b5060208201516139f0602085018261397b565b506040820151613a036040850182613999565b506060820151613a16606085018261397b565b506080820151613a2960808501826139a8565b5060a0820151613a3c60a08501826139a8565b5060c0820151613a4f60c08501826139a8565b5060e0820151613a6260e08501826139b7565b50505050565b600061010082019050613a7e60008301846139c6565b9291505056fea264697066735822122022159a13a6504160803838e36d74e9d532f44001ee9a617dd81d2ca2b42d50c664736f6c63430008150033000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000083f20f44975d03b1b09e64809b757c47f942beea000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000000000000000000000000000000000000000000ac001a0177028386d51e89b6ccf3d730aed4c5689f76855d6704128f2a971f959150898a05d1f5e1e93d99a562ed90b43631c4112e0ed12ce3eb4d4f03f922cf395bc63b6