//
0x60a0604052732222222229b89c7844f19ef503c4dc503be47f8473ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b81525034801561005a57600080fd5b507386702a7f8898b172de396eb304d7d8120712791573ffffffffffffffffffffffffffffffffffffffff1663095ea7b373f87aed04889a1dd0159d9c22b0d57b345ab16ddd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561011457600080fd5b505af1158015610128573d6000803e3d6000fd5b5050505073f87aed04889a1dd0159d9c22b0d57b345ab16ddd73ffffffffffffffffffffffffffffffffffffffff1663095ea7b373147cdae2bf7e809b9789ad0765899c06b361c5ce7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156101e557600080fd5b505af11580156101f9573d6000803e3d6000fd5b5050505060805160601c61074b61021a60003980610166525061074b6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80631cb9ce631461003b5780635c15349514610116575b600080fd5b6101146004803603604081101561005157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561008e57600080fd5b8201836020820111156100a057600080fd5b803590602001918460018302840111640100000000831117156100c257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610164565b005b6101626004803603604081101561012c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506102ec565b005b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610225576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260028152602001807f6e6f00000000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff16826040518082805190602001908083835b60208310610272578051825260208201915060208101905060208303925061024f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146102d4576040519150601f19603f3d011682016040523d82523d6000602084013e6102d9565b606091505b50509050806102e757600080fd5b505050565b6000600367ffffffffffffffff8111801561030657600080fd5b506040519080825280602002602001820160405280156103355781602001602082028036833780820191505090505b50905073f87aed04889a1dd0159d9c22b0d57b345ab16ddd8160008151811061035a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505082816001815181106103a257fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507386702a7f8898b172de396eb304d7d81207127915816002815181106103fe57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073147cdae2bf7e809b9789ad0765899c06b361c5ce73ffffffffffffffffffffffffffffffffffffffff166338ed17398361047d60018661068d90919063ffffffff16565b843061049360014261068d90919063ffffffff16565b6040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b838110156105135780820151818401526020810190506104f8565b505050509050019650505050505050600060405180830381600087803b15801561053c57600080fd5b505af1158015610550573d6000803e3d6000fd5b5050505073f87aed04889a1dd0159d9c22b0d57b345ab16ddd73ffffffffffffffffffffffffffffffffffffffff166394b918de7386702a7f8898b172de396eb304d7d8120712791573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156105ff57600080fd5b505afa158015610613573d6000803e3d6000fd5b505050506040513d602081101561062957600080fd5b81019080805190602001909291905050506040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561067057600080fd5b505af1158015610684573d6000803e3d6000fd5b50505050505050565b60008082840190508381101561070b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fea2646970667358221220cb3d7b43219931ca50c0414eff3a4aa34e7b66d5490b302b398c5eb77673fa7d64736f6c63430007060033