[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ERC1167FailedCreateClone", "type": "error" }, { "inputs": [], "name": "InvalidInitialization", "type": "error" }, { "inputs": [], "name": "NotInitializing", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "creator", "type": "address" }, { "indexed": false, "internalType": "address", "name": "contractAddr", "type": "address" } ], "name": "ContractCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint64", "name": "version", "type": "uint64" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "inputs": [], "name": "erc721Implementation", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "creator", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "getCreatorContractAtIndex", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "creator", "type": "address" } ], "name": "getNumberOfContractsForCreator", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "token", "type": "string" } ], "name": "ham721Deploy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
608060405234801561001057600080fd5b50600080546001600160a01b0319168155604051819081907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35061005661005b565b61010d565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100ab5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161461010a5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6131828061011c6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80637c66fd851161005b5780637c66fd85146100fe5780638129fc1c146101115780638da5cb5b14610119578063f2fde38b1461012c57600080fd5b806315e29f38146100825780634a80a319146100be57806368e18ab5146100e9575b600080fd5b6100ab610090366004610546565b6001600160a01b031660009081526002602052604090205490565b6040519081526020015b60405180910390f35b6001546100d1906001600160a01b031681565b6040516001600160a01b0390911681526020016100b5565b6100fc6100f736600461060d565b61013f565b005b6100d161010c366004610671565b610243565b6100fc610289565b6000546100d1906001600160a01b031681565b6100fc61013a366004610546565b610417565b600154600090610157906001600160a01b03166104af565b604051633772ba0d60e11b81529091506001600160a01b03821690636ee5741a9061018a908690869033906004016106e3565b6020604051808303816000875af11580156101a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101cd9190610721565b5033600081815260026020908152604080832080546001810182559084529282902090920180546001600160a01b0319166001600160a01b03861690811790915591519182527f2d49c67975aadd2d389580b368cfff5b49965b0bd5da33c144922ce01e7a4d7b910160405180910390a2505050565b6001600160a01b038216600090815260026020526040812080548390811061026d5761026d61073e565b6000918252602090912001546001600160a01b03169392505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156102cf5750825b905060008267ffffffffffffffff1660011480156102ec5750303b155b9050811580156102fa575080155b156103185760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561034257845460ff60401b1916600160401b1785555b600080546001600160a01b0319163317905560405161036090610521565b604051809103906000f08015801561037c573d6000803e3d6000fd5b50600180546001600160a01b0319166001600160a01b039290921691909117905560405133906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3831561041057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000546001600160a01b031633146104645760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c176000526e5af43d82803e903d91602b57fd5bf38260781b17602052603760096000f090506001600160a01b03811661051c576040516330be1a3d60e21b815260040160405180910390fd5b919050565b6129f88061075583390190565b6001600160a01b038116811461054357600080fd5b50565b60006020828403121561055857600080fd5b81356105638161052e565b9392505050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261059157600080fd5b813567ffffffffffffffff808211156105ac576105ac61056a565b604051601f8301601f19908116603f011681019082821181831017156105d4576105d461056a565b816040528381528660208588010111156105ed57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561062057600080fd5b823567ffffffffffffffff8082111561063857600080fd5b61064486838701610580565b9350602085013591508082111561065a57600080fd5b5061066785828601610580565b9150509250929050565b6000806040838503121561068457600080fd5b823561068f8161052e565b946020939093013593505050565b6000815180845260005b818110156106c3576020818501810151868301820152016106a7565b506000602082860101526020601f19601f83011685010191505092915050565b6060815260006106f6606083018661069d565b8281036020840152610708818661069d565b91505060018060a01b0383166040830152949350505050565b60006020828403121561073357600080fd5b81516105638161052e565b634e487b7160e01b600052603260045260246000fdfe60806040526001600b556001600c553480156200001b57600080fd5b506040805160208082018352600080835283519182019093528281528262000044838262000156565b50600162000053828262000156565b5050600680546001600160a81b0319166101006001600160a01b038516908102919091179091556040519091506000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35062000222565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000da57607f821691505b602082108103620000fb57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000151576000816000526020600020601f850160051c810160208610156200012c5750805b601f850160051c820191505b818110156200014d5782815560010162000138565b5050505b505050565b81516001600160401b03811115620001725762000172620000af565b6200018a81620001838454620000c5565b8462000101565b602080601f831160018114620001c25760008415620001a95750858301515b600019600386901b1c1916600185901b1785556200014d565b600085815260208120601f198616915b82811015620001f357888601518255948401946001909101908401620001d2565b5085821015620002125787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6127c680620002326000396000f3fe6080604052600436106101815760003560e01c806375794a3c116100d1578063a22cb4651161008a578063c6d6fd1911610064578063c6d6fd191461045c578063c87b56dd14610491578063e985e9c5146104b1578063f2fde38b146104d157600080fd5b8063a22cb465146103fc578063adbad04e1461041c578063b88d4fde1461043c57600080fd5b806375794a3c1461033b5780638456cb59146103515780638da5cb5b1461036657806395d89b411461038b578063a0712d68146103a0578063a0e0fa35146103b357600080fd5b806323b872dd1161013e5780635c975abb116101185780635c975abb146102c35780636352211e146102db5780636ee5741a146102fb57806370a082311461031b57600080fd5b806323b872dd1461026e5780633f4ba83a1461028e57806342842e0e146102a357600080fd5b806301a03f9f1461018657806301ffc9a7146101af57806306fdde03146101df578063081812fc14610201578063095ea7b3146102395780630ed64eff1461025b575b600080fd5b34801561019257600080fd5b5061019c600c5481565b6040519081526020015b60405180910390f35b3480156101bb57600080fd5b506101cf6101ca366004611d0b565b6104f1565b60405190151581526020016101a6565b3480156101eb57600080fd5b506101f4610502565b6040516101a69190611d7f565b34801561020d57600080fd5b5061022161021c366004611d92565b610594565b6040516001600160a01b0390911681526020016101a6565b34801561024557600080fd5b50610259610254366004611dc7565b6105bd565b005b610259610269366004611df1565b6105cc565b34801561027a57600080fd5b50610259610289366004611e13565b61097b565b34801561029a57600080fd5b50610259610a00565b3480156102af57600080fd5b506102596102be366004611e13565b610a39565b3480156102cf57600080fd5b5060065460ff166101cf565b3480156102e757600080fd5b506102216102f6366004611d92565b610a59565b34801561030757600080fd5b50610221610316366004611e98565b610a64565b34801561032757600080fd5b5061019c610336366004611f19565b610b29565b34801561034757600080fd5b5061019c600b5481565b34801561035d57600080fd5b50610259610b71565b34801561037257600080fd5b506006546102219061010090046001600160a01b031681565b34801561039757600080fd5b506101f4610ba8565b6102596103ae366004611d92565b610bb7565b3480156103bf57600080fd5b506103e76103ce366004611d92565b600a602052600090815260409020805460019091015482565b604080519283526020830191909152016101a6565b34801561040857600080fd5b50610259610417366004611f34565b610ecd565b34801561042857600080fd5b5061025961043736600461201c565b610ed8565b34801561044857600080fd5b506102596104573660046120d2565b610f98565b34801561046857600080fd5b5061047c610477366004611d92565b610faf565b6040516101a69998979695949392919061214e565b34801561049d57600080fd5b506101f46104ac366004611d92565b61118d565b3480156104bd57600080fd5b506101cf6104cc3660046121bf565b6112d5565b3480156104dd57600080fd5b506102596104ec366004611f19565b611303565b60006104fc82611386565b92915050565b606060078054610511906121f2565b80601f016020809104026020016040519081016040528092919081815260200182805461053d906121f2565b801561058a5780601f1061055f5761010080835404028352916020019161058a565b820191906000526020600020905b81548152906001019060200180831161056d57829003601f168201915b5050505050905090565b600061059f826113d6565b506000828152600460205260409020546001600160a01b03166104fc565b6105c882823361140f565b5050565b6105d461141c565b6000828152600960205260409020600c5483106106325760405162461bcd60e51b81526020600482015260176024820152764e6f6e206578697374696e6720746f6b656e207479706560481b60448201526064015b60405180910390fd5b600082116106825760405162461bcd60e51b815260206004820152601c60248201527f4d757374206d696e74206174206c65617374206f6e6520746f6b656e000000006044820152606401610629565b8181600701546106929190612242565b3410156106d65760405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e742066756e647360701b6044820152606401610629565b6003810154156107345780600301544210156107345760405162461bcd60e51b815260206004820152601b60248201527f4d696e74696e6720686173206e6f7420737461727465642079657400000000006044820152606401610629565b6004810154156107865780600401544211156107865760405162461bcd60e51b8152602060048201526011602482015270135a5b9d1a5b99c81a185cc8195b991959607a1b6044820152606401610629565b6005810154156107e85780600501548282600601546107a59190612259565b11156107e85760405162461bcd60e51b815260206004820152601260248201527113585e081cdd5c1c1b1e481c995858da195960721b6044820152606401610629565b60006107f333610b29565b60088301549091501561085d57600882015461080f8483612259565b111561085d5760405162461bcd60e51b815260206004820152601d60248201527f45786365656473206d617820746f6b656e73207065722077616c6c65740000006044820152606401610629565b60005b8381101561092c57600b54604080518082019091528681526006850154602082019061088d906001612259565b90526000828152600a60209081526040909120825181559101516001909101556108b73382611440565b6006840180549060006108c98361226c565b9091555050600b80549060006108de8361226c565b9091555081905086337f5a3358a3d27a5373c0df2604662088d37894d56b7cfd27f315770440f4e0d9196109128934612285565b60405190815260200160405180910390a450600101610860565b503415610975576006546040516001600160a01b0361010090920491909116903480156108fc02916000818181858888f19350505050158015610973573d6000803e3d6000fd5b505b50505050565b6001600160a01b0382166109a557604051633250574960e11b815260006004820152602401610629565b60006109b28383336114a5565b9050836001600160a01b0316816001600160a01b031614610975576040516364283d7b60e01b81526001600160a01b0380861660048301526024820184905282166044820152606401610629565b60065461010090046001600160a01b03163314610a2f5760405162461bcd60e51b8152600401610629906122a7565b610a376114c2565b565b610a5483838360405180602001604052806000815250610f98565b505050565b60006104fc826113d6565b600654600090600160a81b900460ff1615610ab75760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606401610629565b6007610ac486888361231d565b506008610ad284868361231d565b5060068054610100600160a81b0319166101006001600160a01b0385160217905560405133906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a395945050505050565b60006001600160a01b038216610b55576040516322718ad960e21b815260006004820152602401610629565b506001600160a01b031660009081526003602052604090205490565b60065461010090046001600160a01b03163314610ba05760405162461bcd60e51b8152600401610629906122a7565b610a37611514565b606060088054610511906121f2565b610bbf61141c565b6000818152600960205260409020600c548210610c185760405162461bcd60e51b81526020600482015260176024820152764e6f6e206578697374696e6720746f6b656e207479706560481b6044820152606401610629565b8060070154341015610c615760405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e742066756e647360701b6044820152606401610629565b600381015415610cbf578060030154421015610cbf5760405162461bcd60e51b815260206004820152601b60248201527f4d696e74696e6720686173206e6f7420737461727465642079657400000000006044820152606401610629565b600481015415610d11578060040154421115610d115760405162461bcd60e51b8152602060048201526011602482015270135a5b9d1a5b99c81a185cc8195b991959607a1b6044820152606401610629565b600581015415610d67578060050154816006015410610d675760405162461bcd60e51b815260206004820152601260248201527113585e081cdd5c1c1b1e481c995858da195960721b6044820152606401610629565b6000610d7233610b29565b905081600801548110610dc75760405162461bcd60e51b815260206004820152601d60248201527f45786365656473206d617820746f6b656e73207065722077616c6c65740000006044820152606401610629565b600b546040805180820190915284815260068401546020820190610dec906001612259565b90526000828152600a6020908152604090912082518155910151600190910155610e163382611440565b600683018054906000610e288361226c565b9091555050600b8054906000610e3d8361226c565b91905055508084336001600160a01b03167f5a3358a3d27a5373c0df2604662088d37894d56b7cfd27f315770440f4e0d91934604051610e7f91815260200190565b60405180910390a43415610975576006546040516001600160a01b0361010090920491909116903480156108fc02916000818181858888f19350505050158015610973573d6000803e3d6000fd5b6105c8338383611551565b60065461010090046001600160a01b03163314610f075760405162461bcd60e51b8152600401610629906122a7565b600c54600090815260096020526040902080610f238a826123dd565b5060018101610f3289826123dd565b5060028101610f4188826123dd565b5060038101869055600481018590556005810184905560006006820155610f6c83633b9aca00612242565b600782015560088101829055600c8054906000610f888361226c565b9190505550505050505050505050565b610fa384848461097b565b610975848484846115f0565b600960205260009081526040902080548190610fca906121f2565b80601f0160208091040260200160405190810160405280929190818152602001828054610ff6906121f2565b80156110435780601f1061101857610100808354040283529160200191611043565b820191906000526020600020905b81548152906001019060200180831161102657829003601f168201915b505050505090806001018054611058906121f2565b80601f0160208091040260200160405190810160405280929190818152602001828054611084906121f2565b80156110d15780601f106110a6576101008083540402835291602001916110d1565b820191906000526020600020905b8154815290600101906020018083116110b457829003601f168201915b5050505050908060020180546110e6906121f2565b80601f0160208091040260200160405190810160405280929190818152602001828054611112906121f2565b801561115f5780601f106111345761010080835404028352916020019161115f565b820191906000526020600020905b81548152906001019060200180831161114257829003601f168201915b5050505050908060030154908060040154908060050154908060060154908060070154908060080154905089565b6000818152600a60209081526040808320815180830183528154808252600190920154818501908152918552600990935292209151606092906112ad9082906111d590611712565b6111e28460060154611712565b846001018560020161121e604051806040016040528060068152602001651d1e5c19525960d21b8152506112198a60000151611712565b6117a5565b61124e6040518060400160405280600781526020016632b234ba34b7b760c91b8152506112198b60200151611712565b6112826040518060400160405280600b81526020016a746f74616c537570706c7960a81b8152506112198b60060154611712565b60405160200161129998979695949392919061252c565b6040516020818303038152906040526117d1565b6040516020016112bd9190612640565b60405160208183030381529060405292505050919050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60065461010090046001600160a01b031633146113325760405162461bcd60e51b8152600401610629906122a7565b60068054610100600160a81b0319166101006001600160a01b0384169081029190911790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a350565b60006001600160e01b031982166380ac58cd60e01b14806113b757506001600160e01b03198216635b5e139f60e01b145b806104fc57506301ffc9a760e01b6001600160e01b03198316146104fc565b6000818152600260205260408120546001600160a01b0316806104fc57604051637e27328960e01b815260048101849052602401610629565b610a548383836001611931565b60065460ff1615610a375760405163d93c066560e01b815260040160405180910390fd5b6001600160a01b03821661146a57604051633250574960e11b815260006004820152602401610629565b6000611478838360006114a5565b90506001600160a01b03811615610a54576040516339e3563760e11b815260006004820152602401610629565b60006114af61141c565b6114ba848484611a37565b949350505050565b6114ca611b30565b6006805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b61151c61141c565b6006805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586114f73390565b6001600160a01b03821661158357604051630b61174360e31b81526001600160a01b0383166004820152602401610629565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b1561097557604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290611632903390889087908790600401612685565b6020604051808303816000875af192505050801561166d575060408051601f3d908101601f1916820190925261166a918101906126c2565b60015b6116d6573d80801561169b576040519150601f19603f3d011682016040523d82523d6000602084013e6116a0565b606091505b5080516000036116ce57604051633250574960e11b81526001600160a01b0385166004820152602401610629565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b1461097357604051633250574960e11b81526001600160a01b0385166004820152602401610629565b6060600061171f83611b53565b600101905060008167ffffffffffffffff81111561173f5761173f611f70565b6040519080825280601f01601f191660200182016040528015611769576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461177357509392505050565b606082826040516020016117ba9291906126df565b604051602081830303815290604052905092915050565b606081516000036117f057505060408051602081019091526000815290565b6000604051806060016040528060408152602001612751604091399050600060038451600261181f9190612259565b6118299190612285565b611834906004612242565b67ffffffffffffffff81111561184c5761184c611f70565b6040519080825280601f01601f191660200182016040528015611876576020820181803683370190505b50905060018201602082018586518701602081018051600082525b828410156118ec576003840193508351603f8160121c168701518653600186019550603f81600c1c168701518653600186019550603f8160061c168701518653600186019550603f8116870151865350600185019450611891565b905250508551600390066001811461190b576002811461191e57611926565b603d6001830353603d6002830353611926565b603d60018303535b509195945050505050565b808061194557506001600160a01b03821615155b15611a07576000611955846113d6565b90506001600160a01b038316158015906119815750826001600160a01b0316816001600160a01b031614155b8015611994575061199281846112d5565b155b156119bd5760405163a9fbf51f60e01b81526001600160a01b0384166004820152602401610629565b8115611a055783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b5050600090815260046020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6000828152600260205260408120546001600160a01b0390811690831615611a6457611a64818486611c2b565b6001600160a01b03811615611aa257611a81600085600080611931565b6001600160a01b038116600090815260036020526040902080546000190190555b6001600160a01b03851615611ad1576001600160a01b0385166000908152600360205260409020805460010190555b60008481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b60065460ff16610a3757604051638dfc202b60e01b815260040160405180910390fd5b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611b925772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611bbe576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611bdc57662386f26fc10000830492506010015b6305f5e1008310611bf4576305f5e100830492506008015b6127108310611c0857612710830492506004015b60648310611c1a576064830492506002015b600a83106104fc5760010192915050565b611c36838383611c8f565b610a54576001600160a01b038316611c6457604051637e27328960e01b815260048101829052602401610629565b60405163177e802f60e01b81526001600160a01b038316600482015260248101829052604401610629565b60006001600160a01b038316158015906114ba5750826001600160a01b0316846001600160a01b03161480611cc95750611cc984846112d5565b806114ba5750506000908152600460205260409020546001600160a01b03908116911614919050565b6001600160e01b031981168114611d0857600080fd5b50565b600060208284031215611d1d57600080fd5b8135611d2881611cf2565b9392505050565b60005b83811015611d4a578181015183820152602001611d32565b50506000910152565b60008151808452611d6b816020860160208601611d2f565b601f01601f19169290920160200192915050565b602081526000611d286020830184611d53565b600060208284031215611da457600080fd5b5035919050565b80356001600160a01b0381168114611dc257600080fd5b919050565b60008060408385031215611dda57600080fd5b611de383611dab565b946020939093013593505050565b60008060408385031215611e0457600080fd5b50508035926020909101359150565b600080600060608486031215611e2857600080fd5b611e3184611dab565b9250611e3f60208501611dab565b9150604084013590509250925092565b60008083601f840112611e6157600080fd5b50813567ffffffffffffffff811115611e7957600080fd5b602083019150836020828501011115611e9157600080fd5b9250929050565b600080600080600060608688031215611eb057600080fd5b853567ffffffffffffffff80821115611ec857600080fd5b611ed489838a01611e4f565b90975095506020880135915080821115611eed57600080fd5b50611efa88828901611e4f565b9094509250611f0d905060408701611dab565b90509295509295909350565b600060208284031215611f2b57600080fd5b611d2882611dab565b60008060408385031215611f4757600080fd5b611f5083611dab565b915060208301358015158114611f6557600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611fa157611fa1611f70565b604051601f8501601f19908116603f01168101908282118183101715611fc957611fc9611f70565b81604052809350858152868686011115611fe257600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261200d57600080fd5b611d2883833560208501611f86565b600080600080600080600080610100898b03121561203957600080fd5b883567ffffffffffffffff8082111561205157600080fd5b61205d8c838d01611ffc565b995060208b013591508082111561207357600080fd5b61207f8c838d01611ffc565b985060408b013591508082111561209557600080fd5b506120a28b828c01611ffc565b989b979a5097986060810135985060808101359760a0820135975060c0820135965060e090910135945092505050565b600080600080608085870312156120e857600080fd5b6120f185611dab565b93506120ff60208601611dab565b925060408501359150606085013567ffffffffffffffff81111561212257600080fd5b8501601f8101871361213357600080fd5b61214287823560208401611f86565b91505092959194509250565b60006101208083526121628184018d611d53565b90508281036020840152612176818c611d53565b9050828103604084015261218a818b611d53565b60608401999099525050608081019590955260a085019390935260c084019190915260e0830152610100909101529392505050565b600080604083850312156121d257600080fd5b6121db83611dab565b91506121e960208401611dab565b90509250929050565b600181811c9082168061220657607f821691505b60208210810361222657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104fc576104fc61222c565b808201808211156104fc576104fc61222c565b60006001820161227e5761227e61222c565b5060010190565b6000826122a257634e487b7160e01b600052601260045260246000fd5b500490565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b601f821115610a54576000816000526020600020601f850160051c810160208610156122f65750805b601f850160051c820191505b8181101561231557828155600101612302565b505050505050565b67ffffffffffffffff83111561233557612335611f70565b6123498361234383546121f2565b836122cd565b6000601f84116001811461237d57600085156123655750838201355b600019600387901b1c1916600186901b178355610973565b600083815260209020601f19861690835b828110156123ae578685013582556020948501946001909201910161238e565b50868210156123cb5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b815167ffffffffffffffff8111156123f7576123f7611f70565b61240b8161240584546121f2565b846122cd565b602080601f83116001811461244057600084156124285750858301515b600019600386901b1c1916600185901b178555612315565b600085815260208120601f198616915b8281101561246f57888601518255948401946001909101908401612450565b508582101561248d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600081546124aa816121f2565b600182811680156124c257600181146124d757612506565b60ff1984168752821515830287019450612506565b8560005260208060002060005b858110156124fd5781548a8201529084019082016124e4565b50505082870194505b5050505092915050565b60008151612522818560208601611d2f565b9290920192915050565b683d913730b6b2911d1160b91b8152600061254a600983018b61249d565b61202360f01b81528951612565816002840160208e01611d2f565b6201017960ed1b600292909101918201528851612589816005840160208d01611d2f565b6a11161134b6b0b3b2911d1160a91b600592909101918201526125af601082018961249d565b701116113232b9b1b934b83a34b7b7111d1160791b815290506125d5601182018861249d565b6f222c2261747472696275746573223a5b60801b815290506125fa6010820187612510565b600b60fa1b815290506126106001820186612510565b600b60fa1b815290506126266001820185612510565b615d7d60f01b81526002019b9a5050505050505050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161267881601d850160208701611d2f565b91909101601d0192915050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906126b890830184611d53565b9695505050505050565b6000602082840312156126d457600080fd5b8151611d2881611cf2565b6e3d913a3930b4ba2fba3cb832911d1160891b8152825160009061270a81600f850160208801611d2f565b6a1116113b30b63ab2911d1160a91b600f91840191820152835161273581601a840160208801611d2f565b61227d60f01b601a9290910191820152601c0194935050505056fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa264697066735822122075d6020c03abc7eb63b536c0513b661aaf82a05c8de8918ca2b4d4da77e8682264736f6c63430008170033a264697066735822122023ac0ebb0066463b0053074cfa1b85502105bdc330347d7f892751455217ea3d64736f6c63430008170033