{
  "contractName": "DAOFactory",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_avatar",
          "type": "address"
        }
      ],
      "name": "InitialSchemesSet",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_avatar",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_controller",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "_reputation",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "_daotoken",
          "type": "address"
        }
      ],
      "name": "NewOrg",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "_proxy",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "_implementation",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "_contractName",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "uint64[3]",
          "name": "_version",
          "type": "uint64[3]"
        }
      ],
      "name": "ProxyCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_scheme",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "_name",
          "type": "string"
        }
      ],
      "name": "SchemeInstance",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "PACKAGE_NAME",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract Avatar",
          "name": "_avatar",
          "type": "address"
        },
        {
          "internalType": "address[]",
          "name": "_founders",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "_foundersTokenAmount",
          "type": "uint256[]"
        },
        {
          "internalType": "uint256[]",
          "name": "_foundersReputationAmount",
          "type": "uint256[]"
        }
      ],
      "name": "addFounders",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "app",
      "outputs": [
        {
          "internalType": "contract App",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint64[3]",
          "name": "_packageVersion",
          "type": "uint64[3]"
        },
        {
          "internalType": "string",
          "name": "_contractName",
          "type": "string"
        },
        {
          "internalType": "address",
          "name": "_admin",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "_data",
          "type": "bytes"
        }
      ],
      "name": "createInstance",
      "outputs": [
        {
          "internalType": "contract AdminUpgradeabilityProxy",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "_encodedForgeOrgParams",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "_encodedSetSchemesParams",
          "type": "bytes"
        }
      ],
      "name": "forgeOrg",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint64[3]",
          "name": "_version",
          "type": "uint64[3]"
        },
        {
          "internalType": "string",
          "name": "_contractName",
          "type": "string"
        }
      ],
      "name": "getImplementation",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint64[3]",
          "name": "_version",
          "type": "uint64[3]"
        }
      ],
      "name": "getPackageVersion",
      "outputs": [
        {
          "internalType": "uint64[3]",
          "name": "version",
          "type": "uint64[3]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_appContractAddress",
          "type": "address"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "locks",
      "outputs": [
        {
          "internalType": "address",
          "name": "sender",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract Avatar",
          "name": "_avatar",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "_encodedSetSchemesParams",
          "type": "bytes"
        }
      ],
      "name": "setSchemes",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506132bf806100206000396000f3fe6080604052600436106200009e5760003560e01c80636cf00fa411620000615780636cf00fa4146200019457806396d85eee14620001b9578063b76564bd14620001d0578063c4d66de814620001e8578063d052ec0f146200020d576200009e565b80632346e68b14620000a35780634da5fa3714620000e0578063571084bd14620001075780635de9a137146200013b57806361fe06131462000160575b600080fd5b348015620000b057600080fd5b50620000c8620000c236600462002040565b62000234565b604051620000d791906200249d565b60405180910390f35b348015620000ed57600080fd5b5062000105620000ff36600462002268565b620003f1565b005b3480156200011457600080fd5b506200012c62000126366004620021b4565b62000528565b604051620000d7919062002584565b3480156200014857600080fd5b50620000c86200015a36600462001f09565b620008dc565b3480156200016d57600080fd5b50620001856200017f36600462002022565b620008f7565b604051620000d7919062002574565b348015620001a157600080fd5b50620000c8620001b336600462002145565b62000b0b565b620000c8620001ca36600462002092565b62000c00565b348015620001dd57600080fd5b50620000c862000cb6565b348015620001f557600080fd5b50620001056200020736600462001f09565b62000cc5565b3480156200021a57600080fd5b506200022562000d6d565b604051620000d791906200258f565b603454604080518082018252600881526744414f737461636b60c01b602082015290516387c6048360e01b815260009283926001600160a01b03909116916387c604839162000286916004016200258f565b60806040518083038186803b1580156200029f57600080fd5b505afa158015620002b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002da9190620022c0565b5090506000816001600160a01b0316631df40eaa866040518263ffffffff1660e01b81526004016200030d919062002574565b60206040518083038186803b1580156200032657600080fd5b505afa1580156200033b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000361919062001f28565b6040516335b41c4b60e11b81529091506001600160a01b03821690636b68389690620003929087906004016200258f565b60206040518083038186803b158015620003ab57600080fd5b505afa158015620003c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003e6919062001f28565b925050505b92915050565b6001600160a01b03838116600090815260336020526040902054163314620004365760405162461bcd60e51b81526004016200042d90620026e2565b60405180910390fd5b620004eb8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506001600160a01b038a16815260336020526040808220815160608101928390529550600101935060039250908390855b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116200049d579050505050505062000d91565b6001600160a01b038316600090815260336020526040812080546001600160a01b03191681559062000521600183018262001a90565b5050505050565b60008584146200054c5760405162461bcd60e51b81526004016200042d9062002695565b8582146200056e5760405162461bcd60e51b81526004016200042d90620027c3565b856200058e5760405162461bcd60e51b81526004016200042d906200279e565b6001600160a01b03888116600090815260336020526040902054163314620005ca5760405162461bcd60e51b81526004016200042d90620026e2565b60005b86811015620008cd576000888883818110620005e557fe5b9050602002016020810190620005fc919062001f09565b6001600160a01b03161415620006265760405162461bcd60e51b81526004016200042d9062002627565b60008686838181106200063557fe5b9050602002013511156200077557886001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200067d57600080fd5b505afa15801562000692573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006b8919062001f28565b6001600160a01b03166310c5b328878784818110620006d357fe5b905060200201358a8a85818110620006e757fe5b9050602002016020810190620006fe919062001f09565b6040518363ffffffff1660e01b81526004016200071d92919062002815565b602060405180830381600087803b1580156200073857600080fd5b505af11580156200074d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000773919062002123565b505b60008484838181106200078457fe5b905060200201351115620008c457886001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015620007cc57600080fd5b505afa158015620007e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000807919062001f28565b6001600160a01b031663dea9e24d8585848181106200082257fe5b905060200201358a8a858181106200083657fe5b90506020020160208101906200084d919062001f09565b6040518363ffffffff1660e01b81526004016200086c92919062002815565b602060405180830381600087803b1580156200088757600080fd5b505af11580156200089c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008c2919062002123565b505b600101620005cd565b50600198975050505050505050565b6033602052600090815260409020546001600160a01b031681565b6200090162001a97565b60006200090d62001a97565b603454604080518082018252600881526744414f737461636b60c01b602082015290516387c6048360e01b81526001600160a01b03909216916387c60483916200095a916004016200258f565b60806040518083038186803b1580156200097357600080fd5b505afa15801562000988573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009ae9190620022c0565b604051630efa075560e11b815291935091506000906001600160a01b03841690631df40eaa90620009e490889060040162002574565b60206040518083038186803b158015620009fd57600080fd5b505afa15801562000a12573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a38919062001f28565b6001600160a01b0316141562000b0057604051630efa075560e11b81526000906001600160a01b03841690631df40eaa9062000a7990859060040162002574565b60206040518083038186803b15801562000a9257600080fd5b505afa15801562000aa7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000acd919062001f28565b6001600160a01b0316141562000af75760405162461bcd60e51b81526004016200042d90620025e2565b80925062000b04565b8392505b5050919050565b6000606080606080606062000b1f62001a97565b62000b2d8a8c018c6200234d565b95509550955095509550955062000b4362001a97565b62000b4e82620008f7565b9050600062000b62888888888887620011aa565b9050891562000bb55762000baf818c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525087925062000d91915050565b62000bf0565b6001600160a01b038116600090815260336020526040902080546001600160a01b0319163317815562000bee9060010183600362001ab5565b505b9c9b505050505050505050505050565b600062000c0c62001a97565b62000c1786620008f7565b9050600062000c27828762000234565b905060003482878760405162000c3d9062001b61565b62000c4b939291906200250a565b6040518091039082f090508015801562000c69573d6000803e3d6000fd5b5090507f3918796d81cd197899a48fa2babaac969d1125c889cfbcc3a0f12cdc93c87a598183898660405162000ca39493929190620024cb565b60405180910390a1979650505050505050565b6034546001600160a01b031681565b600054610100900460ff168062000ce1575062000ce16200182b565b8062000cf0575060005460ff16155b62000d0f5760405162461bcd60e51b81526004016200042d9062002750565b600054610100900460ff1615801562000d3b576000805460ff1961ff0019909116610100171660011790555b603480546001600160a01b0319166001600160a01b038416179055801562000d69576000805461ff00191690555b5050565b6040518060400160405280600881526020016744414f737461636b60c01b81525081565b60608060608060608680602001905181019062000daf919062001f47565b945094509450945094506000886001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801562000df557600080fd5b505afa15801562000e0a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e30919062001f28565b90506000805b87518110156200106c57606062000e836000600462000e75868b878151811062000e5c57fe5b60200260200101518d620018329092919063ffffffff16565b919063ffffffff6200183216565b905062000eba8c60405160200162000e9c91906200249d565b60408051601f19818403018152919052829063ffffffff620018b716565b905062000f1662000f086024808a868151811062000ed457fe5b60200260200101510362000e75878c888151811062000eef57fe5b60200260200101518e620018329092919063ffffffff16565b829063ffffffff620018b716565b9050600062000f468b62000f3e8c868151811062000f3057fe5b602002602001015162001938565b8f8562000c00565b9050806001600160a01b03167fd7aeea804cd95f56138ce36cac2d6e5099e9a2fb7cd120f8d474e5479c22973862000f848c868151811062000f3057fe5b60405162000f9391906200258f565b60405180910390a2846001600160a01b0316635d1da8cb8289868151811062000fb857fe5b60200260200101516040518363ffffffff1660e01b815260040162000fdf92919062002538565b602060405180830381600087803b15801562000ffa57600080fd5b505af11580156200100f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001035919062002123565b506200105f8884815181106200104757fe5b60200260200101518562001a6190919063ffffffff16565b9350505060010162000e36565b50604051632242b11b60e21b81526001600160a01b0383169063890ac46c906200109b9086906004016200258f565b602060405180830381600087803b158015620010b657600080fd5b505af1158015620010cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010f1919062002123565b50816001600160a01b0316636bafaa596040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156200112e57600080fd5b505af115801562001143573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001169919062002123565b506040516001600160a01b038b16907f9007c9042f12be953f7dbe3909f56c3f088e9fe294dbebbef4a67afa63462b6a90600090a250505050505050505050565b60008351855114620011d05760405162461bcd60e51b81526004016200042d9062002695565b8251855114620011f45760405162461bcd60e51b81526004016200042d90620027c3565b60006200122483604051806040016040528060088152602001672220a7aa37b5b2b760c11b815250308a62000c00565b9050600062001294846040518060400160405280600a8152602001692932b83aba30ba34b7b760b11b81525030306040516024016200126491906200249d565b60408051601f198184030181529190526020810180516001600160e01b031663189acdbd60e31b17905262000c00565b9050600062001306856040518060400160405280600681526020016520bb30ba30b960d11b815250308d878730604051602401620012d69493929190620025a4565b60408051601f198184030181529190526020810180516001600160e01b0316633cd208ad60e21b17905262000c00565b6040516308f2839760e41b81529091506001600160a01b03841690638f28397090620013379084906004016200249d565b600060405180830381600087803b1580156200135257600080fd5b505af115801562001367573d6000803e3d6000fd5b50506040516308f2839760e41b81526001600160a01b0385169250638f2839709150620013999084906004016200249d565b600060405180830381600087803b158015620013b457600080fd5b505af1158015620013c9573d6000803e3d6000fd5b50506040516308f2839760e41b81526001600160a01b0384169250638f2839709150620013fb9084906004016200249d565b600060405180830381600087803b1580156200141657600080fd5b505af11580156200142b573d6000803e3d6000fd5b506000925050505b88518110156200162c5760006001600160a01b03168982815181106200145557fe5b60200260200101516001600160a01b03161415620014875760405162461bcd60e51b81526004016200042d9062002719565b60008882815181106200149657fe5b602002602001015111156200155557836001600160a01b03166340c10f198a8381518110620014c157fe5b60200260200101518a8481518110620014d657fe5b60200260200101516040518363ffffffff1660e01b8152600401620014fd9291906200255b565b602060405180830381600087803b1580156200151857600080fd5b505af11580156200152d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001553919062002123565b505b60008782815181106200156457fe5b602002602001015111156200162357826001600160a01b03166340c10f198a83815181106200158f57fe5b6020026020010151898481518110620015a457fe5b60200260200101516040518363ffffffff1660e01b8152600401620015cb9291906200255b565b602060405180830381600087803b158015620015e657600080fd5b505af1158015620015fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001621919062002123565b505b60010162001433565b5060006200169d866040518060400160405280600a81526020016921b7b73a3937b63632b960b11b8152508485306040516024016200166d929190620024b1565b60408051601f198184030181529190526020810180516001600160e01b031663485cc95560e01b17905262000c00565b60405163f2fde38b60e01b81529091506001600160a01b0383169063f2fde38b90620016ce9084906004016200249d565b600060405180830381600087803b158015620016e957600080fd5b505af1158015620016fe573d6000803e3d6000fd5b505060405163f2fde38b60e01b81526001600160a01b038716925063f2fde38b9150620017309084906004016200249d565b600060405180830381600087803b1580156200174b57600080fd5b505af115801562001760573d6000803e3d6000fd5b505060405163f2fde38b60e01b81526001600160a01b038616925063f2fde38b9150620017929084906004016200249d565b600060405180830381600087803b158015620017ad57600080fd5b505af1158015620017c2573d6000803e3d6000fd5b50505050826001600160a01b0316816001600160a01b0316836001600160a01b03167f7c9ce34d490425d6909c8542650b59e8c11074274a3ff906359b4edc3d695051876040516200181591906200249d565b60405180910390a4509998505050505050505050565b303b155b90565b6060818301845110156200184557600080fd5b6060821580156200186257604051915060208201604052620018ae565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156200189d57805183526020928301920162001883565b5050858452601f01601f1916604052505b50949350505050565b6060806040519050835180825260208201818101602087015b81831015620018ea578051835260209283019201620018d0565b50855184518101855292509050808201602086015b8183101562001919578051835260209283019201620018ff565b508651929092011591909101601f01601f191660405250905092915050565b6040805160208082528183019092526060918291906020820181803683370190505090506000805b6020811015620019ba576008810260020a85026001600160f81b0319811615620019b057808484815181106200199257fe5b60200101906001600160f81b031916908160001a9053506001909201915b5060010162001960565b6060826001600160401b0381118015620019d357600080fd5b506040519080825280601f01601f191660200182016040528015620019ff576020820181803683370190505b509050600091505b8282101562001a585783828151811062001a1d57fe5b602001015160f81c60f81b81838151811062001a3557fe5b60200101906001600160f81b031916908160001a90535060019091019062001a07565b95945050505050565b60008282018381101562001a895760405162461bcd60e51b81526004016200042d906200265e565b9392505050565b5060009055565b60405180606001604052806003906020820280368337509192915050565b60018301918390821562001b4f5791602002820160005b8382111562001b1857835183826101000a8154816001600160401b0302191690836001600160401b03160217905550926020019260080160208160070104928301926001030262001acc565b801562001b4d5782816101000a8154906001600160401b03021916905560080160208160070104928301926001030262001b18565b505b5062001b5d92915062001b6f565b5090565b61099480620028f683390190565b6200182f91905b8082111562001b5d57805467ffffffffffffffff1916815560010162001b76565b60008083601f84011262001ba9578182fd5b5081356001600160401b0381111562001bc0578182fd5b602083019150836020808302850101111562001bdb57600080fd5b9250929050565b600082601f83011262001bf3578081fd5b813562001c0a62001c048262002853565b6200282c565b81815291506020808301908481018184028601820187101562001c2c57600080fd5b60005b8481101562001c5857813562001c4581620028c6565b8452928201929082019060010162001c2f565b505050505092915050565b600082601f83011262001c74578081fd5b815162001c8562001c048262002853565b81815291506020808301908481018184028601820187101562001ca757600080fd5b60005b8481101562001c585781518452928201929082019060010162001caa565b600082601f83011262001cd9578081fd5b815162001cea62001c048262002853565b81815291506020808301908481018184028601820187101562001d0c57600080fd5b6000805b8581101562001d445782516001600160e01b03198116811462001d31578283fd5b8552938301939183019160010162001d10565b50505050505092915050565b600082601f83011262001d61578081fd5b813562001d7262001c048262002853565b81815291506020808301908481018184028601820187101562001d9457600080fd5b60005b8481101562001c585781358452928201929082019060010162001d97565b600082601f83011262001dc6578081fd5b62001dd260606200282c565b905080828460608501111562001de757600080fd5b60005b600381101562001e1757813562001e0181620028df565b8352602092830192919091019060010162001dea565b50505092915050565b60008083601f84011262001e32578182fd5b5081356001600160401b0381111562001e49578182fd5b60208301915083602082850101111562001bdb57600080fd5b600082601f83011262001e73578081fd5b813562001e8462001c048262002873565b915080825283602082850101111562001e9c57600080fd5b8060208401602084013760009082016020015292915050565b600082601f83011262001ec6578081fd5b815162001ed762001c048262002873565b915080825283602082850101111562001eef57600080fd5b62001f0281602084016020860162002897565b5092915050565b60006020828403121562001f1b578081fd5b813562001a8981620028c6565b60006020828403121562001f3a578081fd5b815162001a8981620028c6565b600080600080600060a0868803121562001f5f578081fd5b85516001600160401b038082111562001f76578283fd5b62001f8489838a0162001c63565b9650602088015191508082111562001f9a578283fd5b62001fa889838a0162001eb5565b9550604088015191508082111562001fbe578283fd5b62001fcc89838a0162001c63565b9450606088015191508082111562001fe2578283fd5b62001ff089838a0162001cc8565b9350608088015191508082111562002006578283fd5b50620020158882890162001eb5565b9150509295509295909350565b60006060828403121562002034578081fd5b62001a89838362001db5565b6000806080838503121562002053578182fd5b6200205f848462001db5565b915060608301356001600160401b038111156200207a578182fd5b620020888582860162001e62565b9150509250929050565b60008060008060c08587031215620020a8578182fd5b620020b4868662001db5565b935060608501356001600160401b0380821115620020d0578384fd5b620020de8883890162001e62565b945060808701359150620020f282620028c6565b90925060a0860135908082111562002108578283fd5b50620021178782880162001e62565b91505092959194509250565b60006020828403121562002135578081fd5b8151801515811462001a89578182fd5b600080600080604085870312156200215b578182fd5b84356001600160401b038082111562002172578384fd5b620021808883890162001e20565b9096509450602087013591508082111562002199578384fd5b50620021a88782880162001e20565b95989497509550505050565b60008060008060008060006080888a031215620021cf578485fd5b8735620021dc81620028c6565b965060208801356001600160401b0380821115620021f8578687fd5b620022068b838c0162001b97565b909850965060408a01359150808211156200221f578384fd5b6200222d8b838c0162001b97565b909650945060608a013591508082111562002246578384fd5b50620022558a828b0162001b97565b989b979a50959850939692959293505050565b6000806000604084860312156200227d578081fd5b83356200228a81620028c6565b925060208401356001600160401b03811115620022a5578182fd5b620022b38682870162001e20565b9497909650939450505050565b60008060808385031215620022d3578182fd5b8251620022e081620028c6565b91506020603f84018513620022f3578182fd5b620022ff60606200282c565b808286018760808801111562002313578485fd5b845b60038110156200233f5781516200232c81620028df565b8452928401929084019060010162002315565b509497909650945050505050565b600080600080600080610100878903121562002367578384fd5b86356001600160401b03808211156200237e578586fd5b6200238c8a838b0162001e62565b97506020890135915080821115620023a2578586fd5b620023b08a838b0162001e62565b96506040890135915080821115620023c6578586fd5b620023d48a838b0162001be2565b95506060890135915080821115620023ea578384fd5b620023f88a838b0162001d50565b945060808901359150808211156200240e578384fd5b506200241d89828a0162001d50565b9250506200242f8860a0890162001db5565b90509295509295509295565b8060005b6003811015620024695781516001600160401b03168452602093840193909101906001016200243f565b50505050565b600081518084526200248981602086016020860162002897565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b0385811682528416602082015260c060408201819052600090620024f9908301856200246f565b905062001a5860608301846200243b565b6001600160a01b0384811682528316602082015260606040820181905260009062001a58908301846200246f565b6001600160a01b039290921682526001600160e01b031916602082015260400190565b6001600160a01b03929092168252602082015260400190565b60608101620003eb82846200243b565b901515815260200190565b60006020825262001a8960208301846200246f565b600060808252620025b960808301876200246f565b6001600160a01b0395861660208401529385166040830152509216606090920191909152919050565b60208082526025908201527f496d706c656d656e746174696f6e50726f766964657220646f6573206e6f7420604082015264195e1a5cdd60da1b606082015260800190565b6020808252601b908201527f666f756e64657220616464726573732063616e6e6f7420626520300000000000604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252602d908201527f5f666f756e6465726c656e67746820213d205f666f756e64657273546f6b656e60408201526c082dadeeadce85cd8cadccee8d609b1b606082015260800190565b6020808252601e908201527f73656e646572206973206e6f7420686f6c64696e6720746865206c6f636b0000604082015260600190565b6020808252601e908201527f666f756e64657220616464726573732063616e6e6f74206265207a65726f0000604082015260600190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600b908201526a6e6f20666f756e6465727360a81b604082015260600190565b60208082526032908201527f5f666f756e6465726c656e67746820213d205f666f756e6465727352657075746040820152710c2e8d2dedc82dadeeadce85cd8cadccee8d60731b606082015260800190565b9182526001600160a01b0316602082015260400190565b6040518181016001600160401b03811182821017156200284b57600080fd5b604052919050565b60006001600160401b0382111562002869578081fd5b5060209081020190565b60006001600160401b0382111562002889578081fd5b50601f01601f191660200190565b60005b83811015620028b45781810151838201526020016200289a565b83811115620024695750506000910152565b6001600160a01b0381168114620028dc57600080fd5b50565b6001600160401b0381168114620028dc57600080fdfe60806040526040516109943803806109948339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b5060408181527f656970313936372e70726f78792e696d706c656d656e746174696f6e0000000082525190819003601c01902086935084925060008051602061093983398151915260001990910114905061013157fe5b610143826001600160e01b0361026516565b8051156101fb576000826001600160a01b0316826040518082805190602001908083835b602083106101865780518252601f199092019160209182019101610167565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101e6576040519150601f19603f3d011682016040523d82523d6000602084013e6101eb565b606091505b50509050806101f957600080fd5b505b5050604080517f656970313936372e70726f78792e61646d696e00000000000000000000000000815290519081900360130190206000805160206109198339815191526000199091011461024b57fe5b61025d826001600160e01b036102c516565b5050506102dd565b610278816102d760201b6103b41760201c565b6102b35760405162461bcd60e51b815260040180806020018281038252603b815260200180610959603b913960400191505060405180910390fd5b60008051602061093983398151915255565b60008051602061091983398151915255565b3b151590565b61062d806102ec6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996103ba565b6101a96101a461041a565b61043f565b565b6101b3610463565b6001600160a01b0316336001600160a01b031614156101da576101d581610488565b6101e2565b6101e2610191565b50565b6101ed610463565b6001600160a01b0316336001600160a01b031614156102855761020f83610488565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd61041a565b90506102cc565b6102cc610191565b90565b6102d7610463565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b81526004018080602001828103825260368152602001806105876036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610463565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d5816104c8565b6000610393610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd610463565b3b151590565b6103c2610463565b6001600160a01b0316336001600160a01b031614156104125760405162461bcd60e51b81526004018080602001828103825260328152602001806105556032913960400191505060405180910390fd5b6101a96101a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561045e573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610491816104ec565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6104f5816103b4565b6105305760405162461bcd60e51b815260040180806020018281038252603b8152602001806105bd603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a264697066735822122076e1e13197f3e7aa0ea1139db1abc77c726b98b26bf468d91d6f74dffb5a59dc64736f6c634300060a0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc43616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a2646970667358221220813b47523f7f854ed6049f889f3501ff57e569cf3994fed5ab61a89adfd626f564736f6c634300060a0033",
  "deployedBytecode": "0x6080604052600436106200009e5760003560e01c80636cf00fa411620000615780636cf00fa4146200019457806396d85eee14620001b9578063b76564bd14620001d0578063c4d66de814620001e8578063d052ec0f146200020d576200009e565b80632346e68b14620000a35780634da5fa3714620000e0578063571084bd14620001075780635de9a137146200013b57806361fe06131462000160575b600080fd5b348015620000b057600080fd5b50620000c8620000c236600462002040565b62000234565b604051620000d791906200249d565b60405180910390f35b348015620000ed57600080fd5b5062000105620000ff36600462002268565b620003f1565b005b3480156200011457600080fd5b506200012c62000126366004620021b4565b62000528565b604051620000d7919062002584565b3480156200014857600080fd5b50620000c86200015a36600462001f09565b620008dc565b3480156200016d57600080fd5b50620001856200017f36600462002022565b620008f7565b604051620000d7919062002574565b348015620001a157600080fd5b50620000c8620001b336600462002145565b62000b0b565b620000c8620001ca36600462002092565b62000c00565b348015620001dd57600080fd5b50620000c862000cb6565b348015620001f557600080fd5b50620001056200020736600462001f09565b62000cc5565b3480156200021a57600080fd5b506200022562000d6d565b604051620000d791906200258f565b603454604080518082018252600881526744414f737461636b60c01b602082015290516387c6048360e01b815260009283926001600160a01b03909116916387c604839162000286916004016200258f565b60806040518083038186803b1580156200029f57600080fd5b505afa158015620002b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002da9190620022c0565b5090506000816001600160a01b0316631df40eaa866040518263ffffffff1660e01b81526004016200030d919062002574565b60206040518083038186803b1580156200032657600080fd5b505afa1580156200033b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000361919062001f28565b6040516335b41c4b60e11b81529091506001600160a01b03821690636b68389690620003929087906004016200258f565b60206040518083038186803b158015620003ab57600080fd5b505afa158015620003c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003e6919062001f28565b925050505b92915050565b6001600160a01b03838116600090815260336020526040902054163314620004365760405162461bcd60e51b81526004016200042d90620026e2565b60405180910390fd5b620004eb8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506001600160a01b038a16815260336020526040808220815160608101928390529550600101935060039250908390855b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116200049d579050505050505062000d91565b6001600160a01b038316600090815260336020526040812080546001600160a01b03191681559062000521600183018262001a90565b5050505050565b60008584146200054c5760405162461bcd60e51b81526004016200042d9062002695565b8582146200056e5760405162461bcd60e51b81526004016200042d90620027c3565b856200058e5760405162461bcd60e51b81526004016200042d906200279e565b6001600160a01b03888116600090815260336020526040902054163314620005ca5760405162461bcd60e51b81526004016200042d90620026e2565b60005b86811015620008cd576000888883818110620005e557fe5b9050602002016020810190620005fc919062001f09565b6001600160a01b03161415620006265760405162461bcd60e51b81526004016200042d9062002627565b60008686838181106200063557fe5b9050602002013511156200077557886001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200067d57600080fd5b505afa15801562000692573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006b8919062001f28565b6001600160a01b03166310c5b328878784818110620006d357fe5b905060200201358a8a85818110620006e757fe5b9050602002016020810190620006fe919062001f09565b6040518363ffffffff1660e01b81526004016200071d92919062002815565b602060405180830381600087803b1580156200073857600080fd5b505af11580156200074d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000773919062002123565b505b60008484838181106200078457fe5b905060200201351115620008c457886001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015620007cc57600080fd5b505afa158015620007e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000807919062001f28565b6001600160a01b031663dea9e24d8585848181106200082257fe5b905060200201358a8a858181106200083657fe5b90506020020160208101906200084d919062001f09565b6040518363ffffffff1660e01b81526004016200086c92919062002815565b602060405180830381600087803b1580156200088757600080fd5b505af11580156200089c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008c2919062002123565b505b600101620005cd565b50600198975050505050505050565b6033602052600090815260409020546001600160a01b031681565b6200090162001a97565b60006200090d62001a97565b603454604080518082018252600881526744414f737461636b60c01b602082015290516387c6048360e01b81526001600160a01b03909216916387c60483916200095a916004016200258f565b60806040518083038186803b1580156200097357600080fd5b505afa15801562000988573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009ae9190620022c0565b604051630efa075560e11b815291935091506000906001600160a01b03841690631df40eaa90620009e490889060040162002574565b60206040518083038186803b158015620009fd57600080fd5b505afa15801562000a12573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a38919062001f28565b6001600160a01b0316141562000b0057604051630efa075560e11b81526000906001600160a01b03841690631df40eaa9062000a7990859060040162002574565b60206040518083038186803b15801562000a9257600080fd5b505afa15801562000aa7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000acd919062001f28565b6001600160a01b0316141562000af75760405162461bcd60e51b81526004016200042d90620025e2565b80925062000b04565b8392505b5050919050565b6000606080606080606062000b1f62001a97565b62000b2d8a8c018c6200234d565b95509550955095509550955062000b4362001a97565b62000b4e82620008f7565b9050600062000b62888888888887620011aa565b9050891562000bb55762000baf818c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525087925062000d91915050565b62000bf0565b6001600160a01b038116600090815260336020526040902080546001600160a01b0319163317815562000bee9060010183600362001ab5565b505b9c9b505050505050505050505050565b600062000c0c62001a97565b62000c1786620008f7565b9050600062000c27828762000234565b905060003482878760405162000c3d9062001b61565b62000c4b939291906200250a565b6040518091039082f090508015801562000c69573d6000803e3d6000fd5b5090507f3918796d81cd197899a48fa2babaac969d1125c889cfbcc3a0f12cdc93c87a598183898660405162000ca39493929190620024cb565b60405180910390a1979650505050505050565b6034546001600160a01b031681565b600054610100900460ff168062000ce1575062000ce16200182b565b8062000cf0575060005460ff16155b62000d0f5760405162461bcd60e51b81526004016200042d9062002750565b600054610100900460ff1615801562000d3b576000805460ff1961ff0019909116610100171660011790555b603480546001600160a01b0319166001600160a01b038416179055801562000d69576000805461ff00191690555b5050565b6040518060400160405280600881526020016744414f737461636b60c01b81525081565b60608060608060608680602001905181019062000daf919062001f47565b945094509450945094506000886001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801562000df557600080fd5b505afa15801562000e0a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000e30919062001f28565b90506000805b87518110156200106c57606062000e836000600462000e75868b878151811062000e5c57fe5b60200260200101518d620018329092919063ffffffff16565b919063ffffffff6200183216565b905062000eba8c60405160200162000e9c91906200249d565b60408051601f19818403018152919052829063ffffffff620018b716565b905062000f1662000f086024808a868151811062000ed457fe5b60200260200101510362000e75878c888151811062000eef57fe5b60200260200101518e620018329092919063ffffffff16565b829063ffffffff620018b716565b9050600062000f468b62000f3e8c868151811062000f3057fe5b602002602001015162001938565b8f8562000c00565b9050806001600160a01b03167fd7aeea804cd95f56138ce36cac2d6e5099e9a2fb7cd120f8d474e5479c22973862000f848c868151811062000f3057fe5b60405162000f9391906200258f565b60405180910390a2846001600160a01b0316635d1da8cb8289868151811062000fb857fe5b60200260200101516040518363ffffffff1660e01b815260040162000fdf92919062002538565b602060405180830381600087803b15801562000ffa57600080fd5b505af11580156200100f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001035919062002123565b506200105f8884815181106200104757fe5b60200260200101518562001a6190919063ffffffff16565b9350505060010162000e36565b50604051632242b11b60e21b81526001600160a01b0383169063890ac46c906200109b9086906004016200258f565b602060405180830381600087803b158015620010b657600080fd5b505af1158015620010cb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010f1919062002123565b50816001600160a01b0316636bafaa596040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156200112e57600080fd5b505af115801562001143573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001169919062002123565b506040516001600160a01b038b16907f9007c9042f12be953f7dbe3909f56c3f088e9fe294dbebbef4a67afa63462b6a90600090a250505050505050505050565b60008351855114620011d05760405162461bcd60e51b81526004016200042d9062002695565b8251855114620011f45760405162461bcd60e51b81526004016200042d90620027c3565b60006200122483604051806040016040528060088152602001672220a7aa37b5b2b760c11b815250308a62000c00565b9050600062001294846040518060400160405280600a8152602001692932b83aba30ba34b7b760b11b81525030306040516024016200126491906200249d565b60408051601f198184030181529190526020810180516001600160e01b031663189acdbd60e31b17905262000c00565b9050600062001306856040518060400160405280600681526020016520bb30ba30b960d11b815250308d878730604051602401620012d69493929190620025a4565b60408051601f198184030181529190526020810180516001600160e01b0316633cd208ad60e21b17905262000c00565b6040516308f2839760e41b81529091506001600160a01b03841690638f28397090620013379084906004016200249d565b600060405180830381600087803b1580156200135257600080fd5b505af115801562001367573d6000803e3d6000fd5b50506040516308f2839760e41b81526001600160a01b0385169250638f2839709150620013999084906004016200249d565b600060405180830381600087803b158015620013b457600080fd5b505af1158015620013c9573d6000803e3d6000fd5b50506040516308f2839760e41b81526001600160a01b0384169250638f2839709150620013fb9084906004016200249d565b600060405180830381600087803b1580156200141657600080fd5b505af11580156200142b573d6000803e3d6000fd5b506000925050505b88518110156200162c5760006001600160a01b03168982815181106200145557fe5b60200260200101516001600160a01b03161415620014875760405162461bcd60e51b81526004016200042d9062002719565b60008882815181106200149657fe5b602002602001015111156200155557836001600160a01b03166340c10f198a8381518110620014c157fe5b60200260200101518a8481518110620014d657fe5b60200260200101516040518363ffffffff1660e01b8152600401620014fd9291906200255b565b602060405180830381600087803b1580156200151857600080fd5b505af11580156200152d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001553919062002123565b505b60008782815181106200156457fe5b602002602001015111156200162357826001600160a01b03166340c10f198a83815181106200158f57fe5b6020026020010151898481518110620015a457fe5b60200260200101516040518363ffffffff1660e01b8152600401620015cb9291906200255b565b602060405180830381600087803b158015620015e657600080fd5b505af1158015620015fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001621919062002123565b505b60010162001433565b5060006200169d866040518060400160405280600a81526020016921b7b73a3937b63632b960b11b8152508485306040516024016200166d929190620024b1565b60408051601f198184030181529190526020810180516001600160e01b031663485cc95560e01b17905262000c00565b60405163f2fde38b60e01b81529091506001600160a01b0383169063f2fde38b90620016ce9084906004016200249d565b600060405180830381600087803b158015620016e957600080fd5b505af1158015620016fe573d6000803e3d6000fd5b505060405163f2fde38b60e01b81526001600160a01b038716925063f2fde38b9150620017309084906004016200249d565b600060405180830381600087803b1580156200174b57600080fd5b505af115801562001760573d6000803e3d6000fd5b505060405163f2fde38b60e01b81526001600160a01b038616925063f2fde38b9150620017929084906004016200249d565b600060405180830381600087803b158015620017ad57600080fd5b505af1158015620017c2573d6000803e3d6000fd5b50505050826001600160a01b0316816001600160a01b0316836001600160a01b03167f7c9ce34d490425d6909c8542650b59e8c11074274a3ff906359b4edc3d695051876040516200181591906200249d565b60405180910390a4509998505050505050505050565b303b155b90565b6060818301845110156200184557600080fd5b6060821580156200186257604051915060208201604052620018ae565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156200189d57805183526020928301920162001883565b5050858452601f01601f1916604052505b50949350505050565b6060806040519050835180825260208201818101602087015b81831015620018ea578051835260209283019201620018d0565b50855184518101855292509050808201602086015b8183101562001919578051835260209283019201620018ff565b508651929092011591909101601f01601f191660405250905092915050565b6040805160208082528183019092526060918291906020820181803683370190505090506000805b6020811015620019ba576008810260020a85026001600160f81b0319811615620019b057808484815181106200199257fe5b60200101906001600160f81b031916908160001a9053506001909201915b5060010162001960565b6060826001600160401b0381118015620019d357600080fd5b506040519080825280601f01601f191660200182016040528015620019ff576020820181803683370190505b509050600091505b8282101562001a585783828151811062001a1d57fe5b602001015160f81c60f81b81838151811062001a3557fe5b60200101906001600160f81b031916908160001a90535060019091019062001a07565b95945050505050565b60008282018381101562001a895760405162461bcd60e51b81526004016200042d906200265e565b9392505050565b5060009055565b60405180606001604052806003906020820280368337509192915050565b60018301918390821562001b4f5791602002820160005b8382111562001b1857835183826101000a8154816001600160401b0302191690836001600160401b03160217905550926020019260080160208160070104928301926001030262001acc565b801562001b4d5782816101000a8154906001600160401b03021916905560080160208160070104928301926001030262001b18565b505b5062001b5d92915062001b6f565b5090565b61099480620028f683390190565b6200182f91905b8082111562001b5d57805467ffffffffffffffff1916815560010162001b76565b60008083601f84011262001ba9578182fd5b5081356001600160401b0381111562001bc0578182fd5b602083019150836020808302850101111562001bdb57600080fd5b9250929050565b600082601f83011262001bf3578081fd5b813562001c0a62001c048262002853565b6200282c565b81815291506020808301908481018184028601820187101562001c2c57600080fd5b60005b8481101562001c5857813562001c4581620028c6565b8452928201929082019060010162001c2f565b505050505092915050565b600082601f83011262001c74578081fd5b815162001c8562001c048262002853565b81815291506020808301908481018184028601820187101562001ca757600080fd5b60005b8481101562001c585781518452928201929082019060010162001caa565b600082601f83011262001cd9578081fd5b815162001cea62001c048262002853565b81815291506020808301908481018184028601820187101562001d0c57600080fd5b6000805b8581101562001d445782516001600160e01b03198116811462001d31578283fd5b8552938301939183019160010162001d10565b50505050505092915050565b600082601f83011262001d61578081fd5b813562001d7262001c048262002853565b81815291506020808301908481018184028601820187101562001d9457600080fd5b60005b8481101562001c585781358452928201929082019060010162001d97565b600082601f83011262001dc6578081fd5b62001dd260606200282c565b905080828460608501111562001de757600080fd5b60005b600381101562001e1757813562001e0181620028df565b8352602092830192919091019060010162001dea565b50505092915050565b60008083601f84011262001e32578182fd5b5081356001600160401b0381111562001e49578182fd5b60208301915083602082850101111562001bdb57600080fd5b600082601f83011262001e73578081fd5b813562001e8462001c048262002873565b915080825283602082850101111562001e9c57600080fd5b8060208401602084013760009082016020015292915050565b600082601f83011262001ec6578081fd5b815162001ed762001c048262002873565b915080825283602082850101111562001eef57600080fd5b62001f0281602084016020860162002897565b5092915050565b60006020828403121562001f1b578081fd5b813562001a8981620028c6565b60006020828403121562001f3a578081fd5b815162001a8981620028c6565b600080600080600060a0868803121562001f5f578081fd5b85516001600160401b038082111562001f76578283fd5b62001f8489838a0162001c63565b9650602088015191508082111562001f9a578283fd5b62001fa889838a0162001eb5565b9550604088015191508082111562001fbe578283fd5b62001fcc89838a0162001c63565b9450606088015191508082111562001fe2578283fd5b62001ff089838a0162001cc8565b9350608088015191508082111562002006578283fd5b50620020158882890162001eb5565b9150509295509295909350565b60006060828403121562002034578081fd5b62001a89838362001db5565b6000806080838503121562002053578182fd5b6200205f848462001db5565b915060608301356001600160401b038111156200207a578182fd5b620020888582860162001e62565b9150509250929050565b60008060008060c08587031215620020a8578182fd5b620020b4868662001db5565b935060608501356001600160401b0380821115620020d0578384fd5b620020de8883890162001e62565b945060808701359150620020f282620028c6565b90925060a0860135908082111562002108578283fd5b50620021178782880162001e62565b91505092959194509250565b60006020828403121562002135578081fd5b8151801515811462001a89578182fd5b600080600080604085870312156200215b578182fd5b84356001600160401b038082111562002172578384fd5b620021808883890162001e20565b9096509450602087013591508082111562002199578384fd5b50620021a88782880162001e20565b95989497509550505050565b60008060008060008060006080888a031215620021cf578485fd5b8735620021dc81620028c6565b965060208801356001600160401b0380821115620021f8578687fd5b620022068b838c0162001b97565b909850965060408a01359150808211156200221f578384fd5b6200222d8b838c0162001b97565b909650945060608a013591508082111562002246578384fd5b50620022558a828b0162001b97565b989b979a50959850939692959293505050565b6000806000604084860312156200227d578081fd5b83356200228a81620028c6565b925060208401356001600160401b03811115620022a5578182fd5b620022b38682870162001e20565b9497909650939450505050565b60008060808385031215620022d3578182fd5b8251620022e081620028c6565b91506020603f84018513620022f3578182fd5b620022ff60606200282c565b808286018760808801111562002313578485fd5b845b60038110156200233f5781516200232c81620028df565b8452928401929084019060010162002315565b509497909650945050505050565b600080600080600080610100878903121562002367578384fd5b86356001600160401b03808211156200237e578586fd5b6200238c8a838b0162001e62565b97506020890135915080821115620023a2578586fd5b620023b08a838b0162001e62565b96506040890135915080821115620023c6578586fd5b620023d48a838b0162001be2565b95506060890135915080821115620023ea578384fd5b620023f88a838b0162001d50565b945060808901359150808211156200240e578384fd5b506200241d89828a0162001d50565b9250506200242f8860a0890162001db5565b90509295509295509295565b8060005b6003811015620024695781516001600160401b03168452602093840193909101906001016200243f565b50505050565b600081518084526200248981602086016020860162002897565b601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b0385811682528416602082015260c060408201819052600090620024f9908301856200246f565b905062001a5860608301846200243b565b6001600160a01b0384811682528316602082015260606040820181905260009062001a58908301846200246f565b6001600160a01b039290921682526001600160e01b031916602082015260400190565b6001600160a01b03929092168252602082015260400190565b60608101620003eb82846200243b565b901515815260200190565b60006020825262001a8960208301846200246f565b600060808252620025b960808301876200246f565b6001600160a01b0395861660208401529385166040830152509216606090920191909152919050565b60208082526025908201527f496d706c656d656e746174696f6e50726f766964657220646f6573206e6f7420604082015264195e1a5cdd60da1b606082015260800190565b6020808252601b908201527f666f756e64657220616464726573732063616e6e6f7420626520300000000000604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252602d908201527f5f666f756e6465726c656e67746820213d205f666f756e64657273546f6b656e60408201526c082dadeeadce85cd8cadccee8d609b1b606082015260800190565b6020808252601e908201527f73656e646572206973206e6f7420686f6c64696e6720746865206c6f636b0000604082015260600190565b6020808252601e908201527f666f756e64657220616464726573732063616e6e6f74206265207a65726f0000604082015260600190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600b908201526a6e6f20666f756e6465727360a81b604082015260600190565b60208082526032908201527f5f666f756e6465726c656e67746820213d205f666f756e6465727352657075746040820152710c2e8d2dedc82dadeeadce85cd8cadccee8d60731b606082015260800190565b9182526001600160a01b0316602082015260400190565b6040518181016001600160401b03811182821017156200284b57600080fd5b604052919050565b60006001600160401b0382111562002869578081fd5b5060209081020190565b60006001600160401b0382111562002889578081fd5b50601f01601f191660200190565b60005b83811015620028b45781810151838201526020016200289a565b83811115620024695750506000910152565b6001600160a01b0381168114620028dc57600080fd5b50565b6001600160401b0381168114620028dc57600080fdfe60806040526040516109943803806109948339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b5060408181527f656970313936372e70726f78792e696d706c656d656e746174696f6e0000000082525190819003601c01902086935084925060008051602061093983398151915260001990910114905061013157fe5b610143826001600160e01b0361026516565b8051156101fb576000826001600160a01b0316826040518082805190602001908083835b602083106101865780518252601f199092019160209182019101610167565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101e6576040519150601f19603f3d011682016040523d82523d6000602084013e6101eb565b606091505b50509050806101f957600080fd5b505b5050604080517f656970313936372e70726f78792e61646d696e00000000000000000000000000815290519081900360130190206000805160206109198339815191526000199091011461024b57fe5b61025d826001600160e01b036102c516565b5050506102dd565b610278816102d760201b6103b41760201c565b6102b35760405162461bcd60e51b815260040180806020018281038252603b815260200180610959603b913960400191505060405180910390fd5b60008051602061093983398151915255565b60008051602061091983398151915255565b3b151590565b61062d806102ec6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996103ba565b6101a96101a461041a565b61043f565b565b6101b3610463565b6001600160a01b0316336001600160a01b031614156101da576101d581610488565b6101e2565b6101e2610191565b50565b6101ed610463565b6001600160a01b0316336001600160a01b031614156102855761020f83610488565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd61041a565b90506102cc565b6102cc610191565b90565b6102d7610463565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b81526004018080602001828103825260368152602001806105876036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610463565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d5816104c8565b6000610393610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd610463565b3b151590565b6103c2610463565b6001600160a01b0316336001600160a01b031614156104125760405162461bcd60e51b81526004018080602001828103825260328152602001806105556032913960400191505060405180910390fd5b6101a96101a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561045e573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610491816104ec565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6104f5816103b4565b6105305760405162461bcd60e51b815260040180806020018281038252603b8152602001806105bd603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a264697066735822122076e1e13197f3e7aa0ea1139db1abc77c726b98b26bf468d91d6f74dffb5a59dc64736f6c634300060a0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc43616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a2646970667358221220813b47523f7f854ed6049f889f3501ff57e569cf3994fed5ab61a89adfd626f564736f6c634300060a0033"
}