UNPKG

arc_dx

Version:

A platform for building DAOs

870 lines 2.27 MB
{ "contractName": "UController", "abi": [ { "constant": true, "inputs": [ { "name": "", "type": "address" } ], "name": "reputations", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" } ], "name": "newControllers", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" } ], "name": "organizations", "outputs": [ { "name": "nativeToken", "type": "address" }, { "name": "nativeReputation", "type": "address" }, { "name": "exist", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "", "type": "address" } ], "name": "tokens", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_sender", "type": "address" }, { "indexed": true, "name": "_to", "type": "address" }, { "indexed": false, "name": "_amount", "type": "uint256" }, { "indexed": true, "name": "_avatar", "type": "address" } ], "name": "MintReputation", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_sender", "type": "address" }, { "indexed": true, "name": "_from", "type": "address" }, { "indexed": false, "name": "_amount", "type": "uint256" }, { "indexed": true, "name": "_avatar", "type": "address" } ], "name": "BurnReputation", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_sender", "type": "address" }, { "indexed": true, "name": "_beneficiary", "type": "address" }, { "indexed": false, "name": "_amount", "type": "uint256" }, { "indexed": true, "name": "_avatar", "type": "address" } ], "name": "MintTokens", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_sender", "type": "address" }, { "indexed": true, "name": "_scheme", "type": "address" }, { "indexed": true, "name": "_avatar", "type": "address" } ], "name": "RegisterScheme", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_sender", "type": "address" }, { "indexed": true, "name": "_scheme", "type": "address" }, { "indexed": true, "name": "_avatar", "type": "address" } ], "name": "UnregisterScheme", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_oldController", "type": "address" }, { "indexed": false, "name": "_newController", "type": "address" }, { "indexed": false, "name": "_avatar", "type": "address" } ], "name": "UpgradeController", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_globalConstraint", "type": "address" }, { "indexed": false, "name": "_params", "type": "bytes32" }, { "indexed": false, "name": "_when", "type": "uint8" }, { "indexed": true, "name": "_avatar", "type": "address" } ], "name": "AddGlobalConstraint", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "_globalConstraint", "type": "address" }, { "indexed": false, "name": "_index", "type": "uint256" }, { "indexed": false, "name": "_isPre", "type": "bool" }, { "indexed": true, "name": "_avatar", "type": "address" } ], "name": "RemoveGlobalConstraint", "type": "event" }, { "constant": false, "inputs": [ { "name": "_avatar", "type": "address" } ], "name": "newOrganization", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_amount", "type": "uint256" }, { "name": "_to", "type": "address" }, { "name": "_avatar", "type": "address" } ], "name": "mintReputation", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_amount", "type": "uint256" }, { "name": "_from", "type": "address" }, { "name": "_avatar", "type": "address" } ], "name": "burnReputation", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_amount", "type": "uint256" }, { "name": "_beneficiary", "type": "address" }, { "name": "_avatar", "type": "address" } ], "name": "mintTokens", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_scheme", "type": "address" }, { "name": "_paramsHash", "type": "bytes32" }, { "name": "_permissions", "type": "bytes4" }, { "name": "_avatar", "type": "address" } ], "name": "registerScheme", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_scheme", "type": "address" }, { "name": "_avatar", "type": "address" } ], "name": "unregisterScheme", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_avatar", "type": "address" } ], "name": "unregisterSelf", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_scheme", "type": "address" }, { "name": "_avatar", "type": "address" } ], "name": "isSchemeRegistered", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_scheme", "type": "address" }, { "name": "_avatar", "type": "address" } ], "name": "getSchemeParameters", "outputs": [ { "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_scheme", "type": "address" }, { "name": "_avatar", "type": "address" } ], "name": "getSchemePermissions", "outputs": [ { "name": "", "type": "bytes4" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_globalConstraint", "type": "address" }, { "name": "_avatar", "type": "address" } ], "name": "getGlobalConstraintParameters", "outputs": [ { "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_avatar", "type": "address" } ], "name": "globalConstraintsCount", "outputs": [ { "name": "", "type": "uint256" }, { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_globalConstraint", "type": "address" }, { "name": "_avatar", "type": "address" } ], "name": "isGlobalConstraintRegistered", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_globalConstraint", "type": "address" }, { "name": "_params", "type": "bytes32" }, { "name": "_avatar", "type": "address" } ], "name": "addGlobalConstraint", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_globalConstraint", "type": "address" }, { "name": "_avatar", "type": "address" } ], "name": "removeGlobalConstraint", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_newController", "type": "address" }, { "name": "_avatar", "type": "address" } ], "name": "upgradeController", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_contract", "type": "address" }, { "name": "_data", "type": "bytes" }, { "name": "_avatar", "type": "address" } ], "name": "genericCall", "outputs": [ { "name": "returnValue", "type": "bytes32" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_amountInWei", "type": "uint256" }, { "name": "_to", "type": "address" }, { "name": "_avatar", "type": "address" } ], "name": "sendEther", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_externalToken", "type": "address" }, { "name": "_to", "type": "address" }, { "name": "_value", "type": "uint256" }, { "name": "_avatar", "type": "address" } ], "name": "externalTokenTransfer", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_externalToken", "type": "address" }, { "name": "_from", "type": "address" }, { "name": "_to", "type": "address" }, { "name": "_value", "type": "uint256" }, { "name": "_avatar", "type": "address" } ], "name": "externalTokenTransferFrom", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_externalToken", "type": "address" }, { "name": "_spender", "type": "address" }, { "name": "_addedValue", "type": "uint256" }, { "name": "_avatar", "type": "address" } ], "name": "externalTokenIncreaseApproval", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_externalToken", "type": "address" }, { "name": "_spender", "type": "address" }, { "name": "_subtractedValue", "type": "uint256" }, { "name": "_avatar", "type": "address" } ], "name": "externalTokenDecreaseApproval", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_avatar", "type": "address" } ], "name": "getNativeReputation", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b50614d22806100206000396000f3006080604052600436106101455763ffffffff60e060020a600035041663039de01d811461014a57806306fa15a7146101855780631c4d5608146101a657806320204fb7146101df57806342427bf8146102125780634f52b5be146102395780634fe125a3146102605780635a1f74061461029d578063634965da146102ea5780636407e43214610314578063644b98ed1461033e5780636c525b131461036f5780636e94d27814610390578063824f2f1f146103ba5780638da03997146103f45780639b51e35a146104155780639be2faed1461046e578063b998136414610495578063b9a04cdd146104b8578063c6ab78b9146104e9578063e08738da1461051a578063e4537a7414610541578063e48603391461056c578063e869d45f1461058d578063eaf994b2146105db578063f76488be14610605578063fb4856a21461062c575b600080fd5b34801561015657600080fd5b50610171600160a060020a0360043581169060243516610663565b604080519115158252519081900360200190f35b34801561019157600080fd5b50610171600160a060020a0360043516610af4565b3480156101b257600080fd5b506101cd600160a060020a0360043581169060243516610b09565b60408051918252519081900360200190f35b3480156101eb57600080fd5b506101cd600160a060020a0360048035821691602480359081019201359060443516610b37565b34801561021e57600080fd5b50610171600160a060020a0360043581169060243516610f4f565b34801561024557600080fd5b50610171600160a060020a03600435811690602435166114c8565b34801561026c57600080fd5b50610281600160a060020a036004351661160a565b60408051600160a060020a039092168252519081900360200190f35b3480156102a957600080fd5b506102be600160a060020a0360043516611625565b60408051600160a060020a03948516815292909316602083015215158183015290519081900360600190f35b3480156102f657600080fd5b50610171600435600160a060020a0360243581169060443516611656565b34801561032057600080fd5b50610171600435600160a060020a0360243581169060443516611a3f565b34801561034a57600080fd5b50610171600160a060020a036004358116906024358116906044359060643516611eaa565b34801561037b57600080fd5b50610171600160a060020a0360043516612297565b34801561039c57600080fd5b50610171600435600160a060020a036024358116906044351661231c565b3480156103c657600080fd5b506103db600160a060020a0360043516612787565b6040805192835260208301919091528051918290030190f35b34801561040057600080fd5b50610281600160a060020a03600435166127ad565b34801561042157600080fd5b5061043c600160a060020a03600435811690602435166127ce565b604080517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff199092168252519081900360200190f35b34801561047a57600080fd5b50610171600160a060020a0360043581169060243516612805565b3480156104a157600080fd5b506104b6600160a060020a0360043516612818565b005b3480156104c457600080fd5b50610171600160a060020a036004358116906024358116906044359060643516612d69565b3480156104f557600080fd5b50610171600160a060020a036004358116906024358116906044359060643516613156565b34801561052657600080fd5b506101cd600160a060020a0360043581169060243516613543565b34801561054d57600080fd5b50610171600160a060020a036004358116906024359060443516613621565b34801561057857600080fd5b50610171600160a060020a03600435166139de565b34801561059957600080fd5b50610171600160a060020a03600435811690602435907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff196044351690606435166139f3565b3480156105e757600080fd5b50610171600435600160a060020a0360243581169060443516613fd1565b34801561061157600080fd5b50610171600160a060020a036004358116906024351661443c565b34801561063857600080fd5b50610171600160a060020a0360043581169060243581169060443581169060643590608435166144a1565b600160a060020a0381166000908152602081815260408083203384526002019091528120600101548190839060e060020a027c0200000000000000000000000000000000000000000000000000000000908116146106c057600080fd5b7f756e7265676973746572536368656d650000000000000000000000000000000084600060608060008085600160a060020a0316600160a060020a03168152602001908152602001600020600301805480602002602001604051908101604052809291908181526020016000905b8282101561077657600084815260209081902060408051808201909152600285029091018054600160a060020a0316825260019081015482840152908352909201910161072e565b505050600160a060020a03861660009081526020818152604080832060040180548251818502810185019093528083529597509094909350919084015b828210156107fb57600084815260209081902060408051808201909152600285029091018054600160a060020a031682526001908101548284015290835290920191016107b3565b505050509050600092505b81518310156108e757818381518110151561081d57fe5b9060200190602002015160000151600160a060020a031663c1786ab233848681518110151561084857fe5b60209081029091018101518101516040805160e060020a63ffffffff8716028152600160a060020a0390941660048501526024840191909152604483018a9052516064808401938290030181600087803b1580156108a557600080fd5b505af11580156108b9573d6000803e3d6000fd5b505050506040513d60208110156108cf57600080fd5b505115156108dc57600080fd5b600190920191610806565b600160a060020a03808a16600090815260208181526040808320938e16835260029093019052206001015460e060020a90810297508716151561092d5760009750610a01565b600160a060020a03891660009081526020818152604080832033845260020190915290206001015460e060020a021987167c1f00000000000000000000000000000000000000000000000000000000161561098757600080fd5b604051600160a060020a03808b1691908c169033907f6c6acccb2a8bdecd133efe43bc929b25f75255a88da20af641c9ba4acc0e0e5b90600090a4600160a060020a03808a16600090815260208181526040808320938e168352600290930190529081209081556001908101805463ffffffff1916905597505b600092505b8051831015610ae7578083815181101515610a1d57fe5b9060200190602002015160000151600160a060020a0316638043154d338386815181101515610a4857fe5b60209081029091018101518101516040805160e060020a63ffffffff8716028152600160a060020a0390941660048501526024840191909152604483018a9052516064808401938290030181600087803b158015610aa557600080fd5b505af1158015610ab9573d6000803e3d6000fd5b505050506040513d6020811015610acf57600080fd5b50511515610adc57600080fd5b600190920191610a06565b5050505050505092915050565b60026020526000908152604090205460ff1681565b600160a060020a03808216600090815260208181526040808320938616835260029093019052205492915050565b600160a060020a038116600090815260208181526040808320338452600201909152812060010154829060e060020a027c100000000000000000000000000000000000000000000000000000000090811614610b9257600080fd5b7f67656e6572696343616c6c00000000000000000000000000000000000000000083600060608060008085600160a060020a0316600160a060020a03168152602001908152602001600020600301805480602002602001604051908101604052809291908181526020016000905b82821015610c4857600084815260209081902060408051808201909152600285029091018054600160a060020a03168252600190810154828401529083529092019101610c00565b505050600160a060020a03861660009081526020818152604080832060040180548251818502810185019093528083529597509094909350919084015b82821015610ccd57600084815260209081902060408051808201909152600285029091018054600160a060020a03168252600190810154828401529083529092019101610c85565b505050509050600092505b8151831015610db9578183815181101515610cef57fe5b9060200190602002015160000151600160a060020a031663c1786ab2338486815181101515610d1a57fe5b60209081029091018101518101516040805160e060020a63ffffffff8716028152600160a060020a0390941660048501526024840191909152604483018a9052516064808401938290030181600087803b158015610d7757600080fd5b505af1158015610d8b573d6000803e3d6000fd5b505050506040513d6020811015610da157600080fd5b50511515610dae57600080fd5b600190920191610cd8565b604080517f4650c308000000000000000000000000000000000000000000000000000000008152600160a060020a038d81166004830190815260248301938452604483018d9052908b1692634650c308928f928f928f926064018484808284378201915050945050505050600060405180830381600087803b158015610e3e57600080fd5b505af1158015610e52573d6000803e3d6000fd5b505050503d6000883e602087f35b8051831015610f41578083815181101515610e7757fe5b9060200190602002015160000151600160a060020a0316638043154d338386815181101515610ea257fe5b60209081029091018101518101516040805160e060020a63ffffffff8716028152600160a060020a0390941660048501526024840191909152604483018a9052516064808401938290030181600087803b158015610eff57600080fd5b505af1158015610f13573d6000803e3d6000fd5b505050506040513d6020811015610f2957600080fd5b50511515610f3657600080fd5b600190920191610e60565b505050505050949350505050565b600160a060020a038116600090815260208181526040808320338452600201909152812060010154829060e060020a027c080000000000000000000000000000000000000000000000000000000090811614610faa57600080fd5b600160a060020a038381166000908152600160205260409020541615610fcf57600080fd5b600160a060020a0384161515610fe457600080fd5b600160a060020a038381166000818152600160205260408082208054600160a060020a031916948916948517905580517ff2fde38b000000000000000000000000000000000000000000000000000000008152600481019490945251919263f2fde38b926024808301939282900301818387803b15801561106457600080fd5b505af1158015611078573d6000803e3d6000fd5b5050505083600160a060020a031683600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156110c457600080fd5b505af11580156110d8573d6000803e3d6000fd5b505050506040513d60208110156110ee57600080fd5b5051600160a060020a03161461110357600080fd5b600160a060020a0383811660009081526020818152604080832054815160e060020a638da5cb5b028152915130959190911693638da5cb5b93600480850194919392918390030190829087803b15801561115c57600080fd5b505af1158015611170573d6000803e3d6000fd5b505050506040513d602081101561118657600080fd5b5051600160a060020a031614156112ba57600160a060020a038084166000908152602081905260408082205481517ff2fde38b0000000000000000000000000000000000000000000000000000000081528885166004820152915193169263f2fde38b9260248084019391929182900301818387803b15801561120857600080fd5b505af115801561121c573d6000803e3d6000fd5b50505050600160a060020a0383811660009081526020818152604080832054815160e060020a638da5cb5b0281529151858a16959190911693638da5cb5b93600480850194919392918390030190829087803b15801561127b57600080fd5b505af115801561128f573d6000803e3d6000fd5b505050506040513d60208110156112a557600080fd5b5051600160a060020a0316146112ba57600080fd5b600160a060020a0383811660009081526020818152604080832060010154815160e060020a638da5cb5b028152915130959190911693638da5cb5b93600480850194919392918390030190829087803b15801561131657600080fd5b505af115801561132a573d6000803e3d6000fd5b505050506040513d602081101561134057600080fd5b5051600160a060020a0316141561147a57600160a060020a038084166000908152602081905260408082206001015481517ff2fde38b0000000000000000000000000000000000000000000000000000000081528885166004820152915193169263f2fde38b9260248084019391929182900301818387803b1580156113c557600080fd5b505af11580156113d9573d6000803e3d6000fd5b50505050600160a060020a0383811660009081526020818152604080832060010154815160e060020a638da5cb5b0281529151858a16959190911693638da5cb5b93600480850194919392918390030190829087803b15801561143b57600080fd5b505af115801561144f573d6000803e3d6000fd5b505050506040513d602081101561146557600080fd5b5051600160a060020a03161461147a57600080fd5b60408051600160a060020a03868116825285166020820152815130927f8206909fdb23a8ad42188f753026bc9082758d85e20dce9bc8c4b34f2ec3db32928290030190a25060019392505050565b600160a060020a0381166000908152602081815260408083203384526002019091528120600101548190839060e060020a027c04000000000000000000000000000000000000000000000000000000009081161461152557600080fd5b84600160a060020a031663e2b0caef6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561156357600080fd5b505af1158015611577573d6000803e3d6000fd5b505050506040513d602081101561158d57600080fd5b50519150600082600281111561159f57fe5b14806115b6575060028260028111156115b457fe5b145b156115c7576115c585856148a5565b505b60018260028111156115d557fe5b14806115ec575060028260028111156115ea57fe5b145b156115fd576115fb8585614a7b565b505b600092505b505092915050565b600160205260009081526040902054600160a060020a031681565b600060208190529081526040902080546001820154600790920154600160a060020a03918216929091169060ff1683565b600160a060020a038116600090815260208181526040808320338452600201909152812060010154829060e060020a90810281161461169457600080fd5b7f73656e644574686572000000000000000000000000000000000000000000000083600060608060008085600160a060020a0316600160a060020a03168152602001908152602001600020600301805480602002602001604051908101604052809291908181526020016000905b8282101561174a57600084815260209081902060408051808201909152600285029091018054600160a060020a03168252600190810154828401529083529092019101611702565b505050600160a060020a03861660009081526020818152604080832060040180548251818502810185019093528083529597509094909350919084015b828210156117cf57600084815260209081902060408051808201909152600285029091018054600160a060020a03168252600190810154828401529083529092019101611787565b505050509050600092505b81518310156118bb5781838151811015156117f157fe5b9060200190602002015160000151600160a060020a031663c1786ab233848681518110151561181c57fe5b60209081029091018101518101516040805160e060020a63ffffffff8716028152600160a060020a0390941660048501526024840191909152604483018a9052516064808401938290030181600087803b15801561187957600080fd5b505af115801561188d573d6000803e3d6000fd5b505050506040513d60208110156118a357600080fd5b505115156118b057600080fd5b6001909201916117da565b87600160a060020a031663cb16d4a28b8b6040518363ffffffff1660e060020a0281526004018083815260200182600160a060020a0316600160a060020a0316815260200192505050602060405180830381600087803b15801561191e57600080fd5b505af1158015611932573d6000803e3d6000fd5b505050506040513d602081101561194857600080fd5b50519650600092505b8051831015611a3257808381518110151561196857fe5b9060200190602002015160000151600160a060020a0316638043154d33838681518110151561199357fe5b60209081029091018101518101516040805160e060020a63ffffffff8716028152600160a060020a0390941660048501526024840191909152604483018a9052516064808401938290030181600087803b1580156119f057600080fd5b505af1158015611a04573d6000803e3d6000fd5b505050506040513d6020811015611a1a57600080fd5b50511515611a2757600080fd5b600190920191611951565b5050505050509392505050565b600160a060020a038116600090815260208181526040808320338452600201909152812060010154829060e060020a908102811614611a7d57600080fd5b7f6d696e74546f6b656e730000000000000000000000000000000000000000000083600060608060008085600160a060020a0316600160a060020a03168152602001908152602001600020600301805480602002602001604051908101604052809291908181526020016000905b82821015611b3357600084815260209081902060408051808201909152600285029091018054600160a060020a03168252600190810154828401529083529092019101611aeb565b505050600160a060020a03861660009081526020818152604080832060040180548251818502810185019093528083529597509094909350919084015b82821015611bb857600084815260209081902060408051808201909152600285029091018054600160a060020a03168252600190810154828401529083529092019101611b70565b505050509050600092505b8151831015611ca4578183815181101515611bda57fe5b9060200190602002015160000151600160a060020a031663c1786ab2338486815181101515611c0557fe5b60209081029091018101518101516040805160e060020a63ffffffff8716028152600160a060020a0390941660048501526024840191909152604483018a9052516064808401938290030181600087803b158015611c6257600080fd5b505af1158015611c76573d6000803e3d6000fd5b505050506040513d6020811015611c8c57600080fd5b50511515611c9957600080fd5b600190920191611bc3565b87600160a060020a031689600160a060020a031633600160a060020a03167f5f31335b49d4d41584177ece651b9e2bb48565b82a1dfbf1b75eec6343215e4c8d6040518082815260200191505060405180910390a460008089600160a060020a0316600160a060020a0316815260200190815260200160002060000160009054906101000a9004600160a060020a0316600160a060020a03166340c10f198a8c6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015611d9657600080fd5b505af1158015611daa573d6000803e3d6000fd5b505050506040513d6020811015611dc057600080fd5b50519650600092505b8051831015611a32578083815181101515611de057fe5b9060200190602002015160000151600160a060020a0316638043154d338386815181101515611e0b57fe5b60209081029091018101518101516040805160e060020a63ffffffff8716028152600160a060020a0390941660048501526024840191909152604483018a9052516064808401938290030181600087803b158015611e6857600080fd5b505af1158015611e7c573d6000803e3d6000fd5b505050506040513d6020811015611e9257600080fd5b50511515611e9f57600080fd5b600190920191611dc9565b600160a060020a038116600090815260208181526040808320338452600201909152812060010154829060e060020a908102811614611ee857600080fd5b7f65787465726e616c546f6b656e496e637265617365417070726f76616c00000083600060608060008085600160a060020a0316600160a060020a03168152602001908152602001600020600301805480602002602001604051908101604052809291908181526020016000905b82821015611f9e57600084815260209081902060408051808201909152600285029091018054600160a060020a03168252600190810154828401529083529092019101611f56565b505050600160a060020a03861660009081526020818152604080832060040180548251818502810185019093528083529597509094909350919084015b8282101561202357600084815260209081902060408051808201909152600285029091018054600160a060020a03168252600190810154828401529083529092019101611fdb565b505050509050600092505b815183101561210f57818381518110151561204557fe5b9060200190602002015160000151600160a060020a031663c1786ab233848681518110151561207057fe5b60209081029091018101518101516040805160e060020a63ffffffff8716028152600160a060020a0390941660048501526024840191909152604483018a9052516064808401938290030181600087803b1580156120cd57600080fd5b505af11580156120e1573d6000803e3d6000fd5b505050506040513d60208110156120f757600080fd5b5051151561210457600080fd5b60019092019161202e565b604080517f8cf1355c000000000000000000000000000000000000000000000000000000008152600160a060020a038d811660048301528c81166024830152604482018c90529151918a1691638cf1355c916064808201926020929091908290030181600087803b15801561218357600080fd5b505af1158015612197573d6000803e3d6000fd5b505050506040513d60208110156121ad57600080fd5b50519650600092505b8051831015610f415780838151811015156121cd57fe5b9060200190602002015160000151600160a060020a0316638043154d3383868151811015156121f857fe5b60209081029091018101518101516040805160e060020a63ffffffff8716028152600160a060020a0390941660048501526024840191909152604483018a9052516064808401938290030181600087803b15801561225557600080fd5b505af1158015612269573d6000803e3d6000fd5b505050506040513d602081101561227f57600080fd5b5051151561228c57600080fd5b6001909201916121b6565b60006122a33383614c40565b15156122b157506000612317565b600160a060020a038216600081815260208181526040808320338085526002909101909252808320838155600101805463ffffffff1916905551909182917f6c6acccb2a8bdecd133efe43bc929b25f75255a88da20af641c9ba4acc0e0e5b9190a45060015b919050565b600160a060020a038116600090815260208181526040808320338452600201909152812060010154829060e060020a90810281161461235a57600080fd5b7f6275726e52657075746174696f6e00000000000000000000000000000000000083600060608060008085600160a060020a0316600160a060020a03168152602001908152602001600020600301805480602002602001604051908101604052809291908181526020016000905b8282101561241057600084815260209081902060408051808201909152600285029091018054600160a060020a031682526001908101548284015290835290920191016123c8565b505050600160a060020a03861660009081526020818152604080832060040180548251818502810185019093528083529597509094909350919084015b8282101561249557600084815260209081902060408051808201909152600285029091018054600160a060020a0316825260019081015482840152908352909201910161244d565b505050509050600092505b81518310156125815781838151811015156124b757fe5b9060200190602002015160000151600160a060020a031663c1786ab23384868151811015156124e257fe5b60209081029091018101518101516040805160e060020a63ffffffff8716028152600160a060020a0390941660048501526024840191909152604483018a9052516064808401938290030181600087803b15801561253f57600080fd5b505af1158015612553573d6000803e3d6000fd5b505050506040513d602081101561256957600080fd5b5051151561257657600080fd5b6001909201916124a0565b87600160a060020a031689600160a060020a031633600160a060020a03167fc9d509efc43bbd833bfbc3d7031bf2c4b4a7c30c53ba374bc9d5ec44661dbf878d6040518082815260200191505060405180910390a460008089600160a060020a0316600160a060020a0316815260200190815260200160002060010160009054906101000a9004600160a060020a0316600160a060020a0316639dc29fac8a8c6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561267357600080fd5b505af1158015612687573d6000803e3d6000fd5b505050506040513d602081101561269d57600080fd5b50519650600092505b8051831015611a325780838151811015156126bd57fe5b9060200190602002015160000151600160a060020a0316638043154d3383868151811015156126e857fe5b60209081029091018101518101516040805160e060020a63ffffffff8716028152600160a060020a0390941660048501526024840191909152604483018a9052516064808401938290030181600087803b15801561274557600080fd5b505af1158015612759573d6000803e3d6000fd5b505050506040513d602081101561276f57600080fd5b5051151561277c57600080fd5b6001909201916126a6565b600160a060020a0316600090815260208190526040902060038101546004909101549091565b600160a060020a039081166000908152602081905260409020600101541690565b600160a060020a03808216600090815260208181526040808320938616835260029093019052206001015460e060020a0292915050565b60006128118383614c40565b9392505050565b600160a060020a03811660009081526020819052604090206007015460ff161561284157600080fd5b30600160a060020a031681600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561288957600080fd5b505af115801561289d573d6000803e3d6000fd5b505050506040513d60208110156128b357600080fd5b5051600160a060020a0316146128c857600080fd5b6002600082600160a060020a03166389ae1c906040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561290a57600080fd5b505af115801561291e573d6000803e3d6000fd5b505050506040513d602081101561293457600080fd5b5051600160a060020a0316815260208101919091526040016000205460ff161561295d57600080fd5b6003600082600160a060020a031663e1758bd86040518163ffffffff1660e060020a028152600401602060405180830381600087803b15801561299f57600080fd5b505af11580156129b3573d6000803e3d6000fd5b505050506040513d60208110156129c957600080fd5b5051600160a060020a0316815260208101919091526040016000205460ff16156129f257600080fd5b600160a060020a038116600081815260208181526040808320600701805460ff1916600117905580517fe1758bd8000000000000000000000000000000000000000000000000000000008152905163e1758bd893600480840194938390030190829087803b158015612a6357600080fd5b505af1158015612a77573d6000803e3d6000fd5b505050506040513d6020811015612a8d57600080fd5b5051600160a060020a038281166000818152602081815260408083208054600160a060020a031916959096169490941790945582517f89ae1c90000000000000000000000000000000000000000000000000000000008152925191936389ae1c90936004808201949293918390030190829087803b158015612b0e57600080fd5b505af1158015612b22573d6000803e3d6000fd5b505050506040513d6020811015612b3857600080fd5b5051600160a060020a0382811660008181526020818152604080832060019081018054600160a060020a031916969097169590951790955584517f89ae1c90000000000000000000000000000000000000000000000000000000008152945193946002949293926389ae1c909260048084019391929182900301818787803b158015612bc357600080fd5b505af1158015612bd7573d6000803e3d6000fd5b505050506040513d6020811015612bed57600080fd5b5051600160a060020a03908116825260208083019390935260409182016000908120805460ff19169515159590951790945581517fe1758bd8000000000000000000000000000000000000000000000000000000008152915160019460039490939287169263e1758bd8926004808301939282900301818787803b158015612c7457600080fd5b505af1158015612c88573d6000803e3d6000fd5b505050506040513d6020811015612c9e57600080fd5b5051600160a060020a03908116825260208083019390935260409182016000908120805460ff191695151595909517909455815180830183528481527c1f00000000000000000000000000000000000000000000000000000000818501908152918616808652858552838620338088526002909101909552838620915182559151600191909101805463ffffffff191660e060020a9092049190911790559051909282917f521230fe5fa463e77907aa7d9653b8cf93661e82561e966af8aa0a99910554c19190a450565b600160a060020a038116600090815260208181526040808320338452600201909152812060010154829060e060020a908102811614612da757600080fd5b7f65787465726e616c546f6b656e5472616e73666572000000000000000000000083600060608060008085600160a060020a0316600160a060020a03168152602001908152602001600020600301805480602002602001604051908101604052809291908181526020016000905b82821015612e5d57600084815260209081902060408051808201909152600285029091018054600160a060020a03168252600190810154828401529083529092019101612e15565b505050600160a060020a03861660009081526020818152604080832060040180548251818502810185019093528083529597509094909350919084015b82821015612ee257600084815260209081902060408051808201909152600285029091018054600160a060020a03168252600190810154828401529083529092019101612e9a565b505050509050600092505b8151831015612fce578183815181101515612f0457fe5b9060200190602002015160000151600160a060020a031663c1786ab2338486815181101515612f2f57fe5b60209081029091018101518101516040805160e060020a63ffffffff8716028152600160a060020a0390941660048501526024840191909152604483018a9052516064808401938290030181600087803b158015612f8c57600080fd5b505af1158015612fa0573d6000803e3d6000fd5b505050506040513d6020811015612fb657600080fd5b50511515612fc357600080fd5b600190920191612eed565b604080517fdab0efff000000000000000000000000000000000000000000000000000000008152600160a060020a038d811660048301528c81166024830152604482018c90529151918a169163dab0efff916064808201926020929091908290030181600087803b15801561304257600080fd5b505af1158015613056573d6000803e3d6000fd5b505050506040513d602081101561306c57600080fd5b50519650600092505b8051831015610f4157808381518110151561308c57fe5b9060200190602002015160000151600160a060020a0316638043154d3383868151811015156130b757fe5b60209081029091018101518101516040805160e060020a63ffffffff8716028152600160a060020a0390941660048501526024840191909152604483018a9052516064808401938290030181600087803b15801561311457600080fd5b505af1158015613128573d6000803e3d6000fd5b505050506040513d602081101561313e57600080fd5b5051151561314b57600080fd5b600190920191613075565b600160a060020a038116600090815260208181526040808320338452600201909152812060010154829060e060020a90810281161461319457600080fd5b7f65787465726e616c546f6b656e4465637265617365417070726f76616c00000083600060608060008085600160a060020a0316600160a060020a03168152602001908152602001600020600301805480602002602001604051908101604052809291908181526020016000905b8282101561324a57600084815260209081902060408051808201909152600285029091018054600160a060020a03168252600190810154828401529083529092019101613202565b505050600160a060020a03861660009081526020818152604080832060040180548251818502810185019093528083529597509094909350919084015b828210156132cf57600084815260209081902060408051808201909152600285029091018054600160a060020a03168252600190810154828401529083529092019101613287565b505050509050600092505b81518310156133bb5781838151811015156132f157fe5b9060200190602002015160000151600160a060020a031663c1786ab233848681518110151561331c57fe5b60209081029091018101518101516040805160e060020a63ffffffff8716028152600160a060020a0390941660048501526024840191909152604483018a9052516064808401938290030181600087803b15801561337957600080fd5b505af115801561338d573d6000803e3d6000fd5b505050506040513d60208110156133a357600080fd5b505115156133b057600080fd5b6001909201916132da565b604080517fd29ab9c4000000000000000000000000000000000000000000000000000000008152600160a060020a038d811660048301528c81166024830152604482018c90529151918a169163d29ab9c4916064808201926020929091908290030181600087803b15801561342f57600080fd5b505af1158015613443573d6000803e3d6000fd5b505050506040513d602081101561345957600080fd5b50519650600092505b8051831015610f4157808381518110151561347957fe5b9060200190602002015160000151600160a060020a0316638043154d3383868151811015156134a457fe5b60209081029091018101518101516040805160e060020a63ffffffff8716028152600160a060020a0390941660048501526024840191909152604483018a9052516064808401938290030181600087803b15801561350157600080fd5b505af1158015613515573d6000803e3d6000fd5b505050506040513d602081101561352b57600080fd5b5051151561353857600080fd5b600190920191613462565b60008061354e614c7c565b5050600160a060020a038083166000908152602081815260408083209387168352600584018252918290208251808401909352805460ff161580158452600190910154918301919091526135ca578160030181602001518154811015156135b157fe5b9060005260206000209060020201600101549250611602565b50600160a060020a03841660009081526006820160209081526040918290208251808401909352805460ff16158015845260019091015491830191909152611602578160040181602001518154811015156135b157fe5b600160a060020a03811660009081526020818152604080832033845260020190915281206001015481908190849060e060020a027c04000000000000000000000000000000000000000000000000000000009081161461368057600080fd5b60008086600160a060020a0316600160a060020a03168152602001908152602001600020925086600160a060020a031663e2b0caef6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156136e457600080fd5b505af11580156136f8573d6000803e3d6000fd5b505050506040513d602081101561370e57600080fd5b50519150600082600281111561372057fe5b14806137375750600282600281111561373557fe5b145b1561383d57600160a060020a038716600090815260058401602052604090205460ff1615156137f957604080518082018252600160a060020a0389811680835260208084018b8152600389018054600180820183556000838152858120985160029093029098018054600160a060020a031916929097169190911786559151948201949094558551808701875281815293546000190184830190815292855260058901909152939092209051815460ff1916901515178155905191015561383d565b600160a060020a0387166000908152600584016020526040902060010154600384018054889290811061382857fe5b60009182526020909120600160029092020101555b600182600281111561384b57fe5b14806138625750600282600281111561386057fe5b145b1561396857600160a060020a038716600090815260068401602052604090205460ff16151561392457604080518082018252600160a060020a0389811680835260208084018b8152600489018054600180820183556000838152858120985160029093029098018054600160a060020a031916929097169190911786559151948201949094558551808701875281815293546000190184830190815292855260068901909152939092209051815460ff19169015151781559051910155613968565b600160a060020a0387166000908152600684016020526040902060010154600484018054889290811061395357fe5b60009182526020909120600160029092020101555b84600160a060020a031687600160a060020a03167ffc47a21fc3b2a989787e5778a52ac976fa54ccfecf6fda51089ffa95b699b90a88856040518083600019166000191681526020018260028111156139bd57fe5b60ff1681526020019250505060405180910390a35060019695505050505050565b60036020526000908152604090205460ff1681565b600160a060020a03811660009081526020818152604080832033845260020190915281206001015481908190849060e060020a027c020000000000000000000000000000000000000000000000000000000090811614613a5257600080fd5b7f7265676973746572536368656d6500000000000000000000000000000000000085600060608060008085600160a060020a0316600160a060020a03168152602001908152602001600020600301805480602002602001604051908101604052809291908181526020016000905b82821015613b0857600084815260209081902060408051808201909152600285029091018054600160a060020a03168252600190810154828401529083529092019101613ac0565b505050600160a060020a03861660009081526020818152604080832060040180548251818502810185019093528083529597509094909350919084015b82821015613b8d57600084815260209081902060408051808201909152600285029091018054600160a060020a03168252600190810154828401529083529092019101613b45565b505050509050600092505b8151831015613c79578183815181101515613baf57fe5b9060200190602002015160000151600160a060020a031663c1786ab2338486815181101515613bda57fe5b60209081029091018101518101516040805160e060020a63ffffffff8716028152600160a060020a0390941660048501526024840191909152604483018a9052516064808401938290030181600087803b158015613c3757600080fd5b505af1158015613c4b573d6000803e3d6000fd5b505050506040513d6020811015613c6157600080fd5b50511515613c6e57600080fd5b600190920191613b98565b6000808b600160a060020a0316600160a060020a0316815260200190815260200160002060020160008e600160a060020a0316600160a060020a0316815260200190815260200160002060010160009054906101000a900460e060020a0297506000808b600160a060020a0316600160a060020a03168152602001908152602001600020600201600033600160a060020a0316600160a060020a0316815260200190815260200160002060010160009054906101000a900460e060020a029650600060e060020a027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168719898d18601f60e060020a0216167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916141515613d9a57600080fd5b7c1f00000000000000000000000000000000000000000000000000000000871989161615613dc757600080fd5b60408051908101604052808d600019168152602001600160e060020a028d177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152506000808c600160a060020a0316600160a060020a0316815260200190815260200160002060020160008f600160a060020a0316600160a060020a031681526020019081526020016000206000820151816000019060001916905560208201518160010160006101000a81548163ffffffff021916908360e060020a9004021790555090505089600160a060020a03168d600160a060020a031633600160a060020a03167f521230fe5fa463e77907aa7d9653b8cf93661e82561e966af8aa0a99910554c160405160405180910390a460019850600092505b8051831015613fc1578083815181101515613ef757fe5b9060200190602002015160000151600160a060020a0316638043154d338386815181101515613f2257fe5b60209081029091018101518101516040805160e060020a63ffffffff8716028152600160a060020a0390941660048501526024840191909152604483018a9052516064808401938290030181600087803b158015613f7f57600080fd5b505af1158015613f93573d6000803e3d6000fd5b505050506040513d6020811015613fa957600080fd5b50511515613fb657600080fd5b600190920191613ee0565b5050505050505050949350505050565b600160a060020a038116600090815260208181526040808320338452600201909152812060010154829060e060020a90810281161461400f57600080fd5b7f6d696e7452657075746174696f6e00000000000000000000000000000000000083600060608060008085600160a060020a0316600160a060020a03168152602001908152602001600020600301805480602002602001604051908101604052809291908181526020016000905b828210156140c5576000848152602090819020604080518082019091526002850290910180546