Returned Raw Transaction Hex :
0xf949c08201ec830f433e833b945d8080b9496b60a06040523480156200001157600080fd5b50604051620048eb380380620048eb833981016040819052620000349162000334565b803383612710600060405190808252806020026020018201604052801562000066578160200160208202803683370190505b506001805460ff61ffff60e81b011916600160e81b61ffff851602179055600280546001600160a01b031916905560008285856001600160a01b03821615620000b657620000b6600083620001b3565b60005b85518110156200011a57620001117f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de878381518110620000fd57620000fd6200041a565b6020026020010151620001b360201b60201c565b600101620000b9565b5060005b81518110156200016b57620001627fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775838381518110620000fd57620000fd6200041a565b6001016200011e565b5050506001600160a01b03871695506200019e9450505050505760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0316608052506200046d9050565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca821480156200020457506000828152602081815260408083206001600160a01b038516845290915290205460ff16155b156200025157600180546015906200022c90600160a81b90046001600160401b031662000430565b91906101000a8154816001600160401b0302191690836001600160401b031602179055505b6200025d828262000261565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166200025d576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620002bd3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b03811681146200032f57600080fd5b919050565b600080604083850312156200034857600080fd5b82516001600160401b03808211156200036057600080fd5b818501915085601f8301126200037557600080fd5b81516020828211156200038c576200038c62000301565b8160051b604051601f19603f83011681018181108682111715620003b457620003b462000301565b604052928352818301935084810182019289841115620003d357600080fd5b948201945b83861015620003fc57620003ec8662000317565b85529482019493820193620003d8565b96506200040d905087820162000317565b9450505050509250929050565b634e487b7160e01b600052603260045260246000fd5b60006001600160401b038281166002600160401b031981016200046357634e487b7160e01b600052601160045260246000fd5b6001019392505050565b60805161444d6200049e6000396000818161030501528181610c6401528181611063015261169b015261444d6000f3fe6080604052600436106102015760003560e01c8063491606581161011d5780639e944965116100b0578063c416aa511161007f578063cd88b90311610064578063cd88b903146106dd578063d2ae2104146106fd578063d547741f1461075057600080fd5b8063c416aa511461068b578063c7b2370b146106bd57600080fd5b80639e94496514610606578063a217fddf14610636578063af896a3b1461064b578063c358de0a1461066b57600080fd5b8063724e78da116100ec578063724e78da14610555578063741bef1a1461057557806391d14854146105a257806395d376d7146105f357600080fd5b806349160658146104c55780634cfa6d2c146104e557806351b6a0fd1461051d5780635c975abb1461053d57600080fd5b806316c38b3c116101955780632de11376116101645780632de11376146104455780632f2ff15d1461046557806330bb3aac1461048557806336568abe146104a557600080fd5b806316c38b3c1461039a5780631a98b2e0146103ba578063248a9ca3146103da57806326e67a371461041857600080fd5b80631095b6d7116101d15780631095b6d7146102d3578063116191b6146102f3578063127124171461034c578063143b165f1461036c57600080fd5b8062bf2e801461020d57806301e336671461026157806301ffc9a71461028357806302d6e8b0146102b357600080fd5b3661020857005b600080fd5b34801561021957600080fd5b50600154610249907d010000000000000000000000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020015b60405180910390f35b34801561026d57600080fd5b5061028161027c366004613013565b610770565b005b34801561028f57600080fd5b506102a361029e36600461304f565b6107ab565b6040519015158152602001610258565b3480156102bf57600080fd5b506102816102ce366004613091565b610844565b3480156102df57600080fd5b506102816102ee366004613013565b61091f565b3480156102ff57600080fd5b506103277f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610258565b34801561035857600080fd5b50610281610367366004613106565b610aae565b34801561037857600080fd5b5061038c610387366004613150565b610b31565b60405161025892919061328d565b3480156103a657600080fd5b506102816103b53660046132ba565b610be8565b3480156103c657600080fd5b506102816103d5366004613320565b610c0d565b3480156103e657600080fd5b5061040a6103f53660046133fa565b60009081526020819052604090206001015490565b604051908152602001610258565b34801561042457600080fd5b50610438610433366004613427565b610d2f565b6040516102589190613442565b34801561045157600080fd5b506102a3610460366004613106565b610db6565b34801561047157600080fd5b50610281610480366004613489565b610e9b565b34801561049157600080fd5b5061040a6104a03660046134cd565b610ec5565b3480156104b157600080fd5b506102816104c0366004613489565b610fda565b3480156104d157600080fd5b506102816104e0366004613543565b61100c565b3480156104f157600080fd5b5061040a6105003660046135e7565b600460209081526000928352604080842090915290825290205481565b34801561052957600080fd5b50610281610538366004613611565b611133565b34801561054957600080fd5b5060015460ff166102a3565b34801561056157600080fd5b50610281610570366004613106565b61121d565b34801561058157600080fd5b506002546103279073ffffffffffffffffffffffffffffffffffffffff1681565b3480156105ae57600080fd5b506102a36105bd366004613489565b60009182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b61040a610601366004613674565b6112c2565b34801561061257600080fd5b50610626610621366004613427565b611710565b60405161025894939291906136e5565b34801561064257600080fd5b5061040a600081565b34801561065757600080fd5b50610281610666366004613767565b61184d565b34801561067757600080fd5b506102816106863660046137bb565b611aa4565b34801561069757600080fd5b5060015461032790610100900473ffffffffffffffffffffffffffffffffffffffff1681565b3480156106c957600080fd5b506102816106d8366004613106565b611b52565b3480156106e957600080fd5b506102816106f83660046137d6565b611bf6565b34801561070957600080fd5b50600154610737907501000000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610258565b34801561075c57600080fd5b5061028161076b366004613489565b611c47565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561079a81611c6c565b6107a5848484611c76565b50505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061083e57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561086e81611c6c565b60005b828110156108e0573684848381811061088c5761088c61381c565b90506040020190508060200135600660006175308460000160208101906108b39190613427565b6108bd919061384b565b63ffffffff16815260208101919091526040016000206003015550600101610871565b507fd6dac4a884ac5f80781f154f28ed88464b2097f6b866143bb77e46736572136a8383604051610912929190613895565b60405180910390a1505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561094981611c6c565b73ffffffffffffffffffffffffffffffffffffffff841660009081527f9b50f4667d2d24216ccbf0dce3a90c0f620fa4d895e7b069d80ff6247fd25620602052604090205460ff166109c7576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905285169063fd9be52290604401600060405180830381600087803b158015610a3757600080fd5b505af1158015610a4b573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8089168252871660208201529081018590527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb9250606001905060405180910390a150505050565b600154610100900473ffffffffffffffffffffffffffffffffffffffff163314610b04576040517f611136c800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b2e8160018054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611ca6565b50565b80516020818301810180516005825292820191909301209152805460018201805463ffffffff9092169291610b65906138e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610b91906138e9565b8015610bde5780601f10610bb357610100808354040283529160200191610bde565b820191906000526020600020905b815481529060010190602001808311610bc157829003601f168201915b5050505050905082565b6000610bf381611c6c565b8115610c0557610c01611e1d565b5050565b610c01611e9c565b60008585604051610c1f92919061393c565b6040519081900381207f1876eed9000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690631876eed990610ca9908e908e908e908e908e9089908d908d908d90600401613995565b6020604051808303816000875af1158015610cc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cec91906139f4565b610d22576040517f500c44b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050505050505050565b63ffffffff8116600090815260036020908152604091829020805483518184028101840190945280845260609392830182828015610daa57602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610d7b5790505b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f93c430521711328044ae92d0f1f1286cf040bc4a382f1642bd89984e86630553602052604081205460ff1615610e0b57506000919050565b6001547501000000000000000000000000000000000000000000900467ffffffffffffffff161580610e81575073ffffffffffffffffffffffffffffffffffffffff821660009081527f4ac82e3087b7dedf7f532cbc6915c722df8c1e31f1388c318a617b52760eaf8b602052604090205460ff165b15610e8e57506001919050565b506000919050565b919050565b600082815260208190526040902060010154610eb681611c6c565b610ec08383611ef3565b505050565b6040805160808101825263ffffffff8716815267ffffffffffffffff8616602082015273ffffffffffffffffffffffffffffffffffffffff8086169282019290925260015461ffff7d01000000000000000000000000000000000000000000000000000000000082041660608301526000926101009091041663f0b81bb482600685610f536175308d61384b565b63ffffffff1663ffffffff16815260200190815260200160002087876040518563ffffffff1660e01b8152600401610f8e9493929190613aac565b602060405180830381865afa158015610fab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcf9190613b7c565b979650505050505050565b6040517fdec9f03100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828260405161101e92919061393c565b6040519081900381207f5f6970c3000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690635f6970c3906110a2908b908b908b908b908b908990600401613b95565b6020604051808303816000875af11580156110c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e591906139f4565b61111b576040517f500c44b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611129878787878787611fb9565b5050505050505050565b600061113e81611c6c565b60005b828110156111eb573684848381811061115c5761115c61381c565b6060029190910191505060408101356004600061117c6020850185613106565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008360200160208101906111cb9190613427565b63ffffffff16815260208101919091526040016000205550600101611141565b507f360a0efdea8fcc9a11ee20a2099e314ddcf49a941d66790cd4e5adea30faa0748383604051610912929190613bd6565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561124781611c6c565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527ff724a45d041687842411f2b977ef22ab8f43c8f1104f4592b42a00f9b34a643d906020015b60405180910390a15050565b60006112d460a0850160808601613106565b6112dd81610db6565b611313576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061132b336113266020890189613427565b612113565b60408051608081019091529091506000908061134a60208a018a613427565b63ffffffff16815260200161136560808a0160608b01613c44565b67ffffffffffffffff16815260200161138460a08a0160808b01613106565b73ffffffffffffffffffffffffffffffffffffffff1681526001547d010000000000000000000000000000000000000000000000000000000000900461ffff166020918201529091506000906006908290617530906113e5908c018c613427565b6113ef919061384b565b63ffffffff1663ffffffff168152602001908152602001600020604051806080016040529081600082018054611424906138e9565b80601f0160208091040260200160405190810160405280929190818152602001828054611450906138e9565b801561149d5780601f106114725761010080835404028352916020019161149d565b820191906000526020600020905b81548152906001019060200180831161148057829003601f168201915b505050505081526020016001820180546114b6906138e9565b80601f01602080910402602001604051908101604052809291908181526020018280546114e2906138e9565b801561152f5780601f106115045761010080835404028352916020019161152f565b820191906000526020600020905b81548152906001019060200180831161151257829003601f168201915b5050509183525050600282015461ffff166020808301919091526003909201546040909101529091506000906115ab90859061156d908c018c613c5f565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060408c01356121aa565b6001546040517fd135ca93000000000000000000000000000000000000000000000000000000008152919250610100900473ffffffffffffffffffffffffffffffffffffffff169063d135ca9390611611908690869086908e908e903390600401613cc4565b6020604051808303816000875af1158015611630573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116549190613b7c565b825160208401516040517f1c92115f00000000000000000000000000000000000000000000000000000000815292985073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001692631c92115f926116d29290918690600401613dd7565b600060405180830381600087803b1580156116ec57600080fd5b505af1158015611700573d6000803e3d6000fd5b5050505050505050509392505050565b60066020526000908152604090208054819061172b906138e9565b80601f0160208091040260200160405190810160405280929190818152602001828054611757906138e9565b80156117a45780601f10611779576101008083540402835291602001916117a4565b820191906000526020600020905b81548152906001019060200180831161178757829003601f168201915b5050505050908060010180546117b9906138e9565b80601f01602080910402602001604051908101604052809291908181526020018280546117e5906138e9565b80156118325780601f1061180757610100808354040283529160200191611832565b820191906000526020600020905b81548152906001019060200180831161181557829003601f168201915b505050506002830154600390930154919261ffff1691905084565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561187781611c6c565b60005b82811015611a7257368484838181106118955761189561381c565b90506020028101906118a79190613e1a565b905060006175306118bb6020840184613427565b6118c5919061384b565b63ffffffff811660009081526006602052604090208054919250906118e9906138e9565b9050600003611a01576118ff6020830183613c5f565b63ffffffff8316600090815260066020526040902091611920919083613ea8565b5061192e6040830183613c5f565b63ffffffff8316600090815260066020526040902060010191611952919083613ea8565b508060056119636020850185613c5f565b60405161197192919061393c565b9081526040805191829003602001909120805463ffffffff939093167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000909316929092179091556119c490830183613c5f565b60056119d36020860186613c5f565b6040516119e192919061393c565b908152602001604051809103902060010191826119ff929190613ea8565b505b611a1160808301606084016137bb565b63ffffffff9190911660009081526006602052604090206002810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff909316929092179091556080919091013560039091015560010161187a565b507f53ede267f8a00cf87be90c85641900454b96a922b10a82a0d5f5b4d93b16b38a8383604051610912929190614026565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611ace81611c6c565b600180547fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167d01000000000000000000000000000000000000000000000000000000000061ffff8516908102919091179091556040519081527f7af0ac740036ffb1c97b03697859d729e80a44ae5030543d64971c313565ab4d906020016112b6565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611b7c81611c6c565b600180547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff8516908102919091179091556040519081527f1399be28223800f8669b3ba5f8721d9fc16fc4e8d0bbf98378791c8c5a3015e0906020016112b6565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611c2081611c6c565b63ffffffff84166000908152600360205260409020611c40908484612f31565b5050505050565b600082815260208190526040902060010154611c6281611c6c565b610ec083836121bf565b610b2e8133612284565b73ffffffffffffffffffffffffffffffffffffffff8316611c9b57610ec0828261233c565b610ec0838383612442565b6040517ffaaebd2100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff84169063faaebd2190602401602060405180830381865afa158015611d13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d379190613b7c565b90508015610ec0576040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820183905284169063fd9be52290604401600060405180830381600087803b158015611daf57600080fd5b505af1158015611dc3573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8088168252861660208201529081018490527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb92506060019050610912565b611e256124b0565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016811790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b611ea461251f565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33611e72565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca82148015611f50575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16155b15611faf5760018054601590611f88907501000000000000000000000000000000000000000000900467ffffffffffffffff1661416d565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610c01828261258b565b600060058787604051611fcd92919061393c565b908152604080519182900360209081018320838301909252815463ffffffff16835260018201805491840191612002906138e9565b80601f016020809104026020016040519081016040528092919081815260200182805461202e906138e9565b801561207b5780601f106120505761010080835404028352916020019161207b565b820191906000526020600020905b81548152906001019060200180831161205e57829003601f168201915b50505050508152505090506120fd87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8b018190048102820181019092528981529250899150889081908401838280828437600092019190915250505050602084015161267b565b805161210a9084846126c6565b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260046020908152604080832063ffffffff851684529091529020548061083e576040517ff25127e600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015263ffffffff831660248201526044015b60405180910390fd5b60606121b78484846127e5565b949350505050565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca8214801561221b575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff165b1561227a5760018054601590612253907501000000000000000000000000000000000000000000900467ffffffffffffffff16614194565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610c018282612814565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610c01576122c2816128cb565b6122cd8360206128ea565b6040516020016122de9291906141d6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526121a191600401614257565b73ffffffffffffffffffffffffffffffffffffffff8216612389576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146123e3576040519150601f19603f3d011682016040523d82523d6000602084013e6123e8565b606091505b5050905080610ec0576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602481018390526044016121a1565b73ffffffffffffffffffffffffffffffffffffffff821661248f576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ec073ffffffffffffffffffffffffffffffffffffffff84168383612b34565b60015460ff161561251d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016121a1565b565b60015460ff1661251d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016121a1565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610c015760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561261d3390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b8080519060200120828051906020012014610ec05782826040517f5cc0c62a0000000000000000000000000000000000000000000000000000000081526004016121a192919061426a565b8263ffffffff166175306126da8484612bc1565b6126e4919061384b565b63ffffffff1614612751576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f44564e41646170746572426173653a20696e76616c696420737263456964000060448201526064016121a1565b60008060006127608585612bf2565b9250925092508273ffffffffffffffffffffffffffffffffffffffff16630223536e838367ffffffffffffffff6040518463ffffffff1660e01b81526004016127ab93929190614298565b600060405180830381600087803b1580156127c557600080fd5b505af11580156127d9573d6000803e3d6000fd5b50505050505050505050565b60608382846040516020016127fc939291906142cb565b60405160208183030381529060405290509392505050565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610c015760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b606061083e73ffffffffffffffffffffffffffffffffffffffff831660145b606060006128f98360026142f8565b61290490600261430f565b67ffffffffffffffff81111561291c5761291c613121565b6040519080825280601f01601f191660200182016040528015612946576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061297d5761297d61381c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106129e0576129e061381c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000612a1c8460026142f8565b612a2790600161430f565b90505b6001811115612ac4577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110612a6857612a6861381c565b1a60f81b828281518110612a7e57612a7e61381c565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c93612abd81614322565b9050612a2a565b508315612b2d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016121a1565b9392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610ec0908490612cc1565b600082604983612bd282600461430f565b92612bdf93929190614357565b612be891614381565b60e01c9392505050565b6000606081612c036051604061430f565b8414612c3b576040517ff1d10e0d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c58612c4c602060008789614357565b612c55916143c9565b90565b9250612c68604060208688614357565b612c71916143c9565b9050612c808460408188614357565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509598929750929550909350505050565b6000612d23826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16612dd09092919063ffffffff16565b9050805160001480612d44575080806020019051810190612d4491906139f4565b610ec0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016121a1565b60606121b78484600085856000808673ffffffffffffffffffffffffffffffffffffffff168587604051612e049190614405565b60006040518083038185875af1925050503d8060008114612e41576040519150601f19603f3d011682016040523d82523d6000602084013e612e46565b606091505b5091509150610fcf8783838760608315612ee8578251600003612ee15773ffffffffffffffffffffffffffffffffffffffff85163b612ee1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016121a1565b50816121b7565b6121b78383815115612efd5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a19190614257565b82805482825590600052602060002090601f01602090048101928215612fca5791602002820160005b83821115612f9b57833560ff1683826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302612f5a565b8015612fc85782816101000a81549060ff0219169055600101602081600001049283019260010302612f9b565b505b50612fd6929150612fda565b5090565b5b80821115612fd65760008155600101612fdb565b803573ffffffffffffffffffffffffffffffffffffffff81168114610e9657600080fd5b60008060006060848603121561302857600080fd5b61303184612fef565b925061303f60208501612fef565b9150604084013590509250925092565b60006020828403121561306157600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114612b2d57600080fd5b600080602083850312156130a457600080fd5b823567ffffffffffffffff808211156130bc57600080fd5b818501915085601f8301126130d057600080fd5b8135818111156130df57600080fd5b8660208260061b85010111156130f457600080fd5b60209290920196919550909350505050565b60006020828403121561311857600080fd5b612b2d82612fef565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561316257600080fd5b813567ffffffffffffffff8082111561317a57600080fd5b818401915084601f83011261318e57600080fd5b8135818111156131a0576131a0613121565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156131e6576131e6613121565b816040528281528760208487010111156131ff57600080fd5b826020860160208301376000928101602001929092525095945050505050565b60005b8381101561323a578181015183820152602001613222565b50506000910152565b6000815180845261325b81602086016020860161321f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b63ffffffff831681526040602082015260006121b76040830184613243565b8015158114610b2e57600080fd5b6000602082840312156132cc57600080fd5b8135612b2d816132ac565b60008083601f8401126132e957600080fd5b50813567ffffffffffffffff81111561330157600080fd5b60208301915083602082850101111561331957600080fd5b9250929050565b60008060008060008060008060008060c08b8d03121561333f57600080fd5b8a35995060208b013567ffffffffffffffff8082111561335e57600080fd5b61336a8e838f016132d7565b909b50995060408d013591508082111561338357600080fd5b61338f8e838f016132d7565b909950975060608d01359150808211156133a857600080fd5b6133b48e838f016132d7565b909750955060808d01359150808211156133cd57600080fd5b506133da8d828e016132d7565b9150809450508092505060a08b013590509295989b9194979a5092959850565b60006020828403121561340c57600080fd5b5035919050565b803563ffffffff81168114610e9657600080fd5b60006020828403121561343957600080fd5b612b2d82613413565b6020808252825182820181905260009190848201906040850190845b8181101561347d57835160ff168352928401929184019160010161345e565b50909695505050505050565b6000806040838503121561349c57600080fd5b823591506134ac60208401612fef565b90509250929050565b803567ffffffffffffffff81168114610e9657600080fd5b6000806000806000608086880312156134e557600080fd5b6134ee86613413565b94506134fc602087016134b5565b935061350a60408701612fef565b9250606086013567ffffffffffffffff81111561352657600080fd5b613532888289016132d7565b969995985093965092949392505050565b60008060008060008060006080888a03121561355e57600080fd5b87359650602088013567ffffffffffffffff8082111561357d57600080fd5b6135898b838c016132d7565b909850965060408a01359150808211156135a257600080fd5b6135ae8b838c016132d7565b909650945060608a01359150808211156135c757600080fd5b506135d48a828b016132d7565b989b979a50959850939692959293505050565b600080604083850312156135fa57600080fd5b61360383612fef565b91506134ac60208401613413565b6000806020838503121561362457600080fd5b823567ffffffffffffffff8082111561363c57600080fd5b818501915085601f83011261365057600080fd5b81358181111561365f57600080fd5b8660206060830285010111156130f457600080fd5b60008060006040848603121561368957600080fd5b833567ffffffffffffffff808211156136a157600080fd5b9085019060a082880312156136b557600080fd5b909350602085013590808211156136cb57600080fd5b506136d8868287016132d7565b9497909650939450505050565b6080815260006136f86080830187613243565b828103602084015261370a8187613243565b61ffff95909516604084015250506060015292915050565b60008083601f84011261373457600080fd5b50813567ffffffffffffffff81111561374c57600080fd5b6020830191508360208260051b850101111561331957600080fd5b6000806020838503121561377a57600080fd5b823567ffffffffffffffff81111561379157600080fd5b61379d85828601613722565b90969095509350505050565b803561ffff81168114610e9657600080fd5b6000602082840312156137cd57600080fd5b612b2d826137a9565b6000806000604084860312156137eb57600080fd5b6137f484613413565b9250602084013567ffffffffffffffff81111561381057600080fd5b6136d886828701613722565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600063ffffffff80841680613889577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b92169190910692915050565b6020808252818101839052600090604080840186845b878110156138dc5763ffffffff6138c183613413565b168352818501358584015291830191908301906001016138ab565b5090979650505050505050565b600181811c908216806138fd57607f821691505b602082108103613936577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b8183823760009101908152919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b89815260c0602082015260006139af60c083018a8c61394c565b82810360408401526139c281898b61394c565b905086606084015282810360808401526139dd81868861394c565b9150508260a08301529a9950505050505050505050565b600060208284031215613a0657600080fd5b8151612b2d816132ac565b60008154613a1e816138e9565b808552602060018381168015613a3b5760018114613a7357613aa1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008516838901528284151560051b8901019550613aa1565b866000528260002060005b85811015613a995781548a8201860152908301908401613a7e565b890184019650505b505050505092915050565b845163ffffffff16815260208086015167ffffffffffffffff169082015260408086015173ffffffffffffffffffffffffffffffffffffffff169082015260608086015161ffff169082015260c06080820152608060c08201526000613b16610140830186613a11565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff408382030160e0840152613b4d8160018801613a11565b905061ffff600287015416610100840152600386015461012084015282810360a0840152610fcf81858761394c565b600060208284031215613b8e57600080fd5b5051919050565b868152608060208201526000613baf60808301878961394c565b8281036040840152613bc281868861394c565b915050826060830152979650505050505050565b6020808252818101839052600090604080840186845b878110156138dc5773ffffffffffffffffffffffffffffffffffffffff613c1283612fef565b16835263ffffffff613c25868401613413565b1683860152818401358484015260609283019290910190600101613bec565b600060208284031215613c5657600080fd5b612b2d826134b5565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613c9457600080fd5b83018035915067ffffffffffffffff821115613caf57600080fd5b60200191503681900382131561331957600080fd5b865163ffffffff16815260208088015167ffffffffffffffff169082015260408088015173ffffffffffffffffffffffffffffffffffffffff169082015260608088015161ffff169082015260006101008060808401528751608082850152613d31610180850182613243565b91505060208801517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084830301610120850152613d6e8282613243565b91505061ffff604089015116610140840152606088015161016084015282810360a0840152613d9d8188613243565b905082810360c0840152613db281868861394c565b915050610fcf60e083018473ffffffffffffffffffffffffffffffffffffffff169052565b606081526000613dea6060830186613243565b8281036020840152613dfc8186613243565b90508281036040840152613e108185613243565b9695505050505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61833603018112613e4e57600080fd5b9190910192915050565b601f821115610ec0576000816000526020600020601f850160051c81016020861015613e815750805b601f850160051c820191505b81811015613ea057828155600101613e8d565b505050505050565b67ffffffffffffffff831115613ec057613ec0613121565b613ed483613ece83546138e9565b83613e58565b6000601f841160018114613f265760008515613ef05750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611c40565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015613f755786850135825560209485019460019092019101613f55565b5086821015613fb0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613ff757600080fd5b830160208101925035905067ffffffffffffffff81111561401757600080fd5b80360382131561331957600080fd5b60208082528181018390526000906040808401600586901b850182018785805b8981101561412f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff618c36030181126140a6578283fd5b8b0160a063ffffffff6140b883613413565b1686526140c789830183613fc2565b828b8901526140d9838901828461394c565b925050506140e988830183613fc2565b8783038a8901526140fb83828461394c565b92505050606061ffff61410f8285016137a9565b169087015260809182013591909501529386019391860191600101614046565b50919998505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff80831681810361418a5761418a61413e565b6001019392505050565b600067ffffffffffffffff8216806141ae576141ae61413e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161420e81601785016020880161321f565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161424b81602884016020880161321f565b01602801949350505050565b602081526000612b2d6020830184613243565b60408152600061427d6040830185613243565b828103602084015261428f8185613243565b95945050505050565b6060815260006142ab6060830186613243565b905083602083015267ffffffffffffffff83166040830152949350505050565b838152826020820152600082516142e981604085016020870161321f565b91909101604001949350505050565b808202811582820484141761083e5761083e61413e565b8082018082111561083e5761083e61413e565b6000816143315761433161413e565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b6000808585111561436757600080fd5b8386111561437457600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156143c15780818660040360031b1b83161692505b505092915050565b8035602083101561083e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b60008251613e4e81846020870161321f56fea264697066735822122098045e2a27b0abbb0a2d6bfa13ea35ffec5f32cb48745a42ae1db161b8269afd64736f6c634300081600330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000e432150cce91c13a887f7d836923d5597add8e3100000000000000000000000000000000000000000000000000000000000000010000000000000000000000009f403140bc0574d7d36ea472b82daa1bbd4ef32782021ba0ef914977cc985947df0e61803585362bed6d4adac1fee212e8c95b648fad84aaa014b969e8a708fd9962a1c177d622478779ada10e5617df55bfa3d19c5bca87a9