[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "string", "name": "Name", "type": "string" }, { "internalType": "string", "name": "Symbol", "type": "string" }, { "internalType": "string", "name": "Uri", "type": "string" }, { "internalType": "address", "name": "_Admin", "type": "address" } ], "name": "completePackage", "outputs": [ { "internalType": "address", "name": "newCertificateAdd", "type": "address" }, { "internalType": "address", "name": "newSchoolsNFT", "type": "address" }, { "internalType": "address", "name": "newMentorsSpok", "type": "address" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "Name", "type": "string" }, { "internalType": "string", "name": "Symbol", "type": "string" }, { "internalType": "string", "name": "Uri", "type": "string" }, { "internalType": "address", "name": "_Admin", "type": "address" } ], "name": "createAttendanceNft", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "Name", "type": "string" }, { "internalType": "string", "name": "Symbol", "type": "string" }, { "internalType": "address", "name": "institution", "type": "address" } ], "name": "createCertificateNft", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "Name", "type": "string" }, { "internalType": "string", "name": "Symbol", "type": "string" }, { "internalType": "address", "name": "institution", "type": "address" } ], "name": "createMentorsSpok", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function" } ]
6080604052348015600f57600080fd5b50600080546001600160a01b031916331790556138f4806100316000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063310e5a7c146100515780633646d0cd1461009357806396ebef7a14610093578063dfa7be5a146100be575b600080fd5b61006461005f36600461026e565b6100d1565b604080516001600160a01b03948516815292841660208401529216918101919091526060015b60405180910390f35b6100a66100a1366004610313565b610108565b6040516001600160a01b03909116815260200161008a565b6100a66100cc36600461026e565b61014c565b60008060006100e1878786610108565b92506100ef8787878761014c565b91506100fc878786610108565b90509450945094915050565b60008084848460405161011a90610193565b610126939291906103d2565b604051809103906000f080158015610142573d6000803e3d6000fd5b5095945050505050565b6000808585858560405161015f906101a0565b61016c9493929190610410565b604051809103906000f080158015610188573d6000803e3d6000fd5b509695505050505050565b6119538061046483390190565b611b0880611db783390190565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126101d457600080fd5b813567ffffffffffffffff8111156101ee576101ee6101ad565b604051601f8201601f19908116603f0116810167ffffffffffffffff8111828210171561021d5761021d6101ad565b60405281815283820160200185101561023557600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160a01b038116811461026957600080fd5b919050565b6000806000806080858703121561028457600080fd5b843567ffffffffffffffff81111561029b57600080fd5b6102a7878288016101c3565b945050602085013567ffffffffffffffff8111156102c457600080fd5b6102d0878288016101c3565b935050604085013567ffffffffffffffff8111156102ed57600080fd5b6102f9878288016101c3565b92505061030860608601610252565b905092959194509250565b60008060006060848603121561032857600080fd5b833567ffffffffffffffff81111561033f57600080fd5b61034b868287016101c3565b935050602084013567ffffffffffffffff81111561036857600080fd5b610374868287016101c3565b92505061038360408501610252565b90509250925092565b6000815180845260005b818110156103b257602081850181015186830182015201610396565b506000602082860101526020601f19601f83011685010191505092915050565b6060815260006103e5606083018661038c565b82810360208401526103f7818661038c565b91505060018060a01b0383166040830152949350505050565b608081526000610423608083018761038c565b8281036020840152610435818761038c565b90508281036040840152610449818661038c565b91505060018060a01b03831660608301529594505050505056fe608060405234801561001057600080fd5b5060405161195338038061195383398101604081905261002f91610191565b808383600061003e83826102a5565b50600161004b82826102a5565b50505061005d8161008660201b60201c565b50600880546001600160a01b0319166001600160a01b0392909216919091179055506103639050565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126100ff57600080fd5b81516001600160401b03811115610118576101186100d8565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610146576101466100d8565b60405281815283820160200185101561015e57600080fd5b60005b8281101561017d57602081860181015183830182015201610161565b506000918101602001919091529392505050565b6000806000606084860312156101a657600080fd5b83516001600160401b038111156101bc57600080fd5b6101c8868287016100ee565b602086015190945090506001600160401b038111156101e657600080fd5b6101f2868287016100ee565b604086015190935090506001600160a01b038116811461021157600080fd5b809150509250925092565b600181811c9082168061023057607f821691505b60208210810361025057634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156102a057806000526020600020601f840160051c8101602085101561027d5750805b601f840160051c820191505b8181101561029d5760008155600101610289565b50505b505050565b81516001600160401b038111156102be576102be6100d8565b6102d2816102cc845461021c565b84610256565b6020601f82116001811461030657600083156102ee5750848201515b600019600385901b1c1916600184901b17845561029d565b600084815260208120601f198516915b828110156103365787850151825560209485019460019092019101610316565b50848210156103545786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b6115e1806103726000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80638da5cb5b116100ad578063d204c45e11610071578063d204c45e14610257578063e985e9c51461026a578063f2fde38b1461027d578063f52ca0a914610290578063f5bfed70146102a357600080fd5b80638da5cb5b1461020557806395d89b4114610216578063a22cb4651461021e578063b88d4fde14610231578063c87b56dd1461024457600080fd5b806323b872dd116100f457806323b872dd146101a357806342842e0e146101b65780636352211e146101c957806370a08231146101dc578063715018a6146101fd57600080fd5b806301ffc9a71461012657806306fdde031461014e578063081812fc14610163578063095ea7b31461018e575b600080fd5b610139610134366004610fce565b6102b6565b60405190151581526020015b60405180910390f35b6101566102c7565b604051610145919061103b565b61017661017136600461104e565b610359565b6040516001600160a01b039091168152602001610145565b6101a161019c366004611083565b610381565b005b6101a16101b13660046110ad565b610391565b6101a16101c43660046110ad565b6103d3565b6101766101d736600461104e565b6103ee565b6101ef6101ea3660046110ea565b610427565b604051908152602001610145565b6101a161046f565b6007546001600160a01b0316610176565b610156610483565b6101a161022c366004611105565b610492565b6101a161023f3660046111e4565b6104a1565b61015661025236600461104e565b6104be565b6101a1610265366004611280565b6104c9565b6101396102783660046112ce565b610500565b6101a161028b3660046110ea565b61052e565b600854610176906001600160a01b031681565b6101a16102b1366004611301565b61056c565b60006102c182610618565b92915050565b6060600080546102d6906113cc565b80601f0160208091040260200160405190810160405280929190818152602001828054610302906113cc565b801561034f5780601f106103245761010080835404028352916020019161034f565b820191906000526020600020905b81548152906001019060200180831161033257829003601f168201915b5050505050905090565b60006103648261063d565b6000828152600460205260409020546001600160a01b03166102c1565b61038c828233610675565b505050565b60405162461bcd60e51b81526020600482015260126024820152711513d2d153881254c814d3d553081095539160721b60448201526064015b60405180910390fd5b61038c838383604051806020016040528060008152506104a1565b6000818152600260205260408120546001600160a01b0316806102c157604051637e27328960e01b8152600481018490526024016103ca565b60006001600160a01b038216610453576040516322718ad960e21b8152600060048201526024016103ca565b506001600160a01b031660009081526003602052604090205490565b610477610748565b6104816000610775565b565b6060600180546102d6906113cc565b61049d3383836107c7565b5050565b6104ac848484610391565b6104b884848484610866565b50505050565b60606102c18261098f565b6104d1610748565b60006104dc60095490565b90506104ec600980546001019055565b6104f68382610a9f565b61038c8183610ab9565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b610536610748565b6001600160a01b03811661056057604051631e4fbdf760e01b8152600060048201526024016103ca565b61056981610775565b50565b6008546001600160a01b031633146105bb5760405162461bcd60e51b81526020600482015260126024820152712aa720aaaa27a924ad22a21021a0a62622a960711b60448201526064016103ca565b60005b825181101561038c5760006105d260095490565b90506105e2600980546001019055565b6106058483815181106105f7576105f7611406565b602002602001015182610a9f565b61060f8184610ab9565b506001016105be565b60006001600160e01b03198216632483248360e11b14806102c157506102c182610b41565b6000818152600260205260409020546001600160a01b031661056957604051637e27328960e01b8152600481018290526024016103ca565b600080610681846103ee565b90506001600160a01b038316158015906106ad5750826001600160a01b0316816001600160a01b031614155b80156106c057506106be8184610500565b155b156106e95760405163a9fbf51f60e01b81526001600160a01b03841660048201526024016103ca565b60008481526004602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4949350505050565b6007546001600160a01b031633146104815760405163118cdaa760e01b81523360048201526024016103ca565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166107f957604051630b61174360e31b81526001600160a01b03831660048201526024016103ca565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b156104b857604051630a85bd0160e11b81526001600160a01b0384169063150b7a02906108a890339088908790879060040161141c565b6020604051808303816000875af19250505080156108e3575060408051601f3d908101601f191682019092526108e091810190611459565b60015b61094c573d808015610911576040519150601f19603f3d011682016040523d82523d6000602084013e610916565b606091505b50805160000361094457604051633250574960e11b81526001600160a01b03851660048201526024016103ca565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b1461098857604051633250574960e11b81526001600160a01b03851660048201526024016103ca565b5050505050565b606061099a8261063d565b600082815260066020526040812080546109b3906113cc565b80601f01602080910402602001604051908101604052809291908181526020018280546109df906113cc565b8015610a2c5780601f10610a0157610100808354040283529160200191610a2c565b820191906000526020600020905b815481529060010190602001808311610a0f57829003601f168201915b505050505090506000610a4a60408051602081019091526000815290565b90508051600003610a5c575092915050565b815115610a8e578082604051602001610a76929190611476565b60405160208183030381529060405292505050919050565b610a9784610b91565b949350505050565b61049d828260405180602001604052806000815250610c05565b6000828152600260205260409020546001600160a01b0316610af157604051637e27328960e01b8152600481018390526024016103ca565b6000828152600660205260409020610b0982826114ec565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b60006001600160e01b031982166380ac58cd60e01b1480610b7257506001600160e01b03198216635b5e139f60e01b145b806102c157506301ffc9a760e01b6001600160e01b03198316146102c1565b6060610b9c8261063d565b6000610bb360408051602081019091526000815290565b90506000815111610bd35760405180602001604052806000815250610bfe565b80610bdd84610c1c565b604051602001610bee929190611476565b6040516020818303038152906040525b9392505050565b610c0f8383610caf565b61038c6000848484610866565b60606000610c2983610d14565b600101905060008167ffffffffffffffff811115610c4957610c49611141565b6040519080825280601f01601f191660200182016040528015610c73576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610c7d57509392505050565b6001600160a01b038216610cd957604051633250574960e11b8152600060048201526024016103ca565b6000610ce783836000610dec565b90506001600160a01b0381161561038c576040516339e3563760e11b8152600060048201526024016103ca565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610d535772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610d7f576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610d9d57662386f26fc10000830492506010015b6305f5e1008310610db5576305f5e100830492506008015b6127108310610dc957612710830492506004015b60648310610ddb576064830492506002015b600a83106102c15760010192915050565b6000828152600260205260408120546001600160a01b0390811690831615610e1957610e19818486610ef1565b6001600160a01b03811615610e6357600084815260046020908152604080832080546001600160a01b03191690556001600160a01b03841683526003909152902080546000190190555b6001600160a01b03851615610e92576001600160a01b0385166000908152600360205260409020805460010190555b60008481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b610efc838383610f55565b61038c576001600160a01b038316610f2a57604051637e27328960e01b8152600481018290526024016103ca565b60405163177e802f60e01b81526001600160a01b0383166004820152602481018290526044016103ca565b60006001600160a01b03831615801590610a975750826001600160a01b0316846001600160a01b03161480610f8f5750610f8f8484610500565b80610a975750506000908152600460205260409020546001600160a01b03908116911614919050565b6001600160e01b03198116811461056957600080fd5b600060208284031215610fe057600080fd5b8135610bfe81610fb8565b60005b83811015611006578181015183820152602001610fee565b50506000910152565b60008151808452611027816020860160208601610feb565b601f01601f19169290920160200192915050565b602081526000610bfe602083018461100f565b60006020828403121561106057600080fd5b5035919050565b80356001600160a01b038116811461107e57600080fd5b919050565b6000806040838503121561109657600080fd5b61109f83611067565b946020939093013593505050565b6000806000606084860312156110c257600080fd5b6110cb84611067565b92506110d960208501611067565b929592945050506040919091013590565b6000602082840312156110fc57600080fd5b610bfe82611067565b6000806040838503121561111857600080fd5b61112183611067565b91506020830135801515811461113657600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561118057611180611141565b604052919050565b60008067ffffffffffffffff8411156111a3576111a3611141565b50601f8301601f19166020016111b881611157565b9150508281528383830111156111cd57600080fd5b828260208301376000602084830101529392505050565b600080600080608085870312156111fa57600080fd5b61120385611067565b935061121160208601611067565b925060408501359150606085013567ffffffffffffffff81111561123457600080fd5b8501601f8101871361124557600080fd5b61125487823560208401611188565b91505092959194509250565b600082601f83011261127157600080fd5b610bfe83833560208501611188565b6000806040838503121561129357600080fd5b61129c83611067565b9150602083013567ffffffffffffffff8111156112b857600080fd5b6112c485828601611260565b9150509250929050565b600080604083850312156112e157600080fd5b6112ea83611067565b91506112f860208401611067565b90509250929050565b6000806040838503121561131457600080fd5b823567ffffffffffffffff81111561132b57600080fd5b8301601f8101851361133c57600080fd5b803567ffffffffffffffff81111561135657611356611141565b8060051b61136660208201611157565b9182526020818401810192908101908884111561138257600080fd5b6020850194505b838510156113ab5761139a85611067565b825260209485019490910190611389565b95505050506020840135905067ffffffffffffffff8111156112b857600080fd5b600181811c908216806113e057607f821691505b60208210810361140057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061144f9083018461100f565b9695505050505050565b60006020828403121561146b57600080fd5b8151610bfe81610fb8565b60008351611488818460208801610feb565b83519083019061149c818360208801610feb565b01949350505050565b601f82111561038c57806000526020600020601f840160051c810160208510156114cc5750805b601f840160051c820191505b8181101561098857600081556001016114d8565b815167ffffffffffffffff81111561150657611506611141565b61151a8161151484546113cc565b846114a5565b6020601f82116001811461154e57600083156115365750848201515b600019600385901b1c1916600184901b178455610988565b600084815260208120601f198516915b8281101561157e578785015182556020948501946001909201910161155e565b508482101561159c5786840151600019600387901b60f8161c191681555b50505050600190811b0190555056fea26469706673582212204f2ac06d791a7a0dcc19a6265b33369f18e0e81f7ff83d74c5e3c6981b75269d64736f6c634300081a00336080604052600060065534801561001557600080fd5b50604051611b08380380611b088339810160408190526100349161014b565b8161003e81610082565b50600361004b858261028a565b506004610058848261028a565b50600580546001600160a01b0319166001600160a01b039290921691909117905550610348915050565b600261008e828261028a565b5050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126100b957600080fd5b81516001600160401b038111156100d2576100d2610092565b604051601f8201601f19908116603f011681016001600160401b038111828210171561010057610100610092565b60405281815283820160200185101561011857600080fd5b60005b828110156101375760208186018101518383018201520161011b565b506000918101602001919091529392505050565b6000806000806080858703121561016157600080fd5b84516001600160401b0381111561017757600080fd5b610183878288016100a8565b602087015190955090506001600160401b038111156101a157600080fd5b6101ad878288016100a8565b604087015190945090506001600160401b038111156101cb57600080fd5b6101d7878288016100a8565b606087015190935090506001600160a01b03811681146101f657600080fd5b939692955090935050565b600181811c9082168061021557607f821691505b60208210810361023557634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561028557806000526020600020601f840160051c810160208510156102625750805b601f840160051c820191505b81811015610282576000815560010161026e565b50505b505050565b81516001600160401b038111156102a3576102a3610092565b6102b7816102b18454610201565b8461023b565b6020601f8211600181146102eb57600083156102d35750848201515b600019600385901b1c1916600184901b178455610282565b600084815260208120601f198516915b8281101561031b57878501518255602094850194600190920191016102fb565b50848210156103395786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b6117b1806103576000396000f3fe608060405234801561001057600080fd5b50600436106101155760003560e01c806356de3a11116100a257806395d89b411161007157806395d89b411461025d578063a22cb46514610265578063e985e9c514610278578063f242432a146102b4578063f851a440146102c257600080fd5b806356de3a1114610211578063591f1bf7146102245780636c53d79914610237578063775ed63d1461024a57600080fd5b80631f0c687b116100e95780631f0c687b1461018b5780632eb2c2d6146101a057806339269845146101b35780634e1273f4146101de57806354242401146101fe57600080fd5b8062fdd58e1461011a57806301ffc9a71461014057806306fdde03146101635780630e89341c14610178575b600080fd5b61012d610128366004610e50565b6102ed565b6040519081526020015b60405180910390f35b61015361014e366004610e93565b610315565b6040519015158152602001610137565b61016b610365565b6040516101379190610f07565b61016b610186366004610f1a565b6103f3565b61019e610199366004610ff4565b610487565b005b61019e6101ae3660046110ff565b610524565b61012d6101c13660046111b2565b805160208183018101805160088252928201919093012091525481565b6101f16101ec366004611253565b610561565b60405161013791906112ec565b61016b61020c3660046111b2565b61062d565b61012d61021f3660046111b2565b610658565b61019e6102323660046112ff565b610715565b61016b6102453660046111b2565b61080d565b61019e610258366004611390565b610831565b61016b610899565b61019e6102733660046113e7565b6108a6565b610153610286366004611423565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b61019e6101ae366004611456565b6005546102d5906001600160a01b031681565b6040516001600160a01b039091168152602001610137565b6000818152602081815260408083206001600160a01b03861684529091529020545b92915050565b60006001600160e01b03198216636cdb3d1360e11b148061034657506001600160e01b031982166303a24d0760e21b145b8061030f57506301ffc9a760e01b6001600160e01b031983161461030f565b60038054610372906114ae565b80601f016020809104026020016040519081016040528092919081815260200182805461039e906114ae565b80156103eb5780601f106103c0576101008083540402835291602001916103eb565b820191906000526020600020905b8154815290600101906020018083116103ce57829003601f168201915b505050505081565b606060028054610402906114ae565b80601f016020809104026020016040519081016040528092919081815260200182805461042e906114ae565b801561047b5780601f106104505761010080835404028352916020019161047b565b820191906000526020600020905b81548152906001019060200180831161045e57829003601f168201915b50505050509050919050565b6005546001600160a01b031633146104ba5760405162461bcd60e51b81526004016104b1906114e8565b60405180910390fd5b6006546008836040516104cd919061150f565b908152602001604051809103902081905550806007836040516104f0919061150f565b9081526020016040518091039020908161050a9190611577565b506006805490600061051b8361164b565b91905055505050565b60405162461bcd60e51b81526020600482015260126024820152711513d2d153881254c814d3d553081095539160721b60448201526064016104b1565b606081518351146105925781518351604051635b05999160e01b8152600481019290925260248201526044016104b1565b600083516001600160401b038111156105ad576105ad610f33565b6040519080825280602002602001820160405280156105d6578160200160208202803683370190505b50905060005b845181101561062557602080820286010151610600906020808402870101516102ed565b82828151811061061257610612611664565b60209081029190910101526001016105dc565b509392505050565b606060078260405161063f919061150f565b90815260200160405180910390208054610402906114ae565b60008060088360405161066b919061150f565b90815260408051602092819003830181205460018083528284019093529350600092839290808301908036833701905050905082816000815181106106b2576106b2611664565b60209081029190910101526040805160018082528183019092526000916106ea91908160200160208202803683370190505083610561565b9050806000815181106106ff576106ff611664565b6020026020010151925082945050505050919050565b6005546001600160a01b0316331461073f5760405162461bcd60e51b81526004016104b1906114e8565b80518251146107825760405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b60448201526064016104b1565b60005b82518110156108075760006008856040516107a0919061150f565b90815260200160405180910390205490506107fe8483815181106107c6576107c6611664565b6020026020010151828585815181106107e1576107e1611664565b6020026020010151604051806020016040528060008152506108b5565b50600101610785565b50505050565b805160208183018101805160078252928201919093012091528054610372906114ae565b6005546001600160a01b0316331461085b5760405162461bcd60e51b81526004016104b1906114e8565b600060088360405161086d919061150f565b9081526020016040518091039020549050610807848284604051806020016040528060008152506108b5565b60048054610372906114ae565b6108b133838361091a565b5050565b6001600160a01b0384166108df57604051632bfa23e760e11b8152600060048201526024016104b1565b604080516001808252602082018690528183019081526060820185905260808201909252906109126000878484876109b0565b505050505050565b6001600160a01b0382166109435760405162ced3e160e81b8152600060048201526024016104b1565b6001600160a01b03838116600081815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6109bc85858585610a0a565b6001600160a01b03841615610a0357825133906001036109f557602084810151908401516109ee838989858589610c1e565b5050610912565b610912818787878787610d4b565b5050505050565b8051825114610a395781518151604051635b05999160e01b8152600481019290925260248201526044016104b1565b3360005b8351811015610b3f576020818102858101820151908501909101516001600160a01b03881615610af0576000828152602081815260408083206001600160a01b038c16845290915290205481811015610ac9576040516303dee4c560e01b81526001600160a01b038a1660048201526024810182905260448101839052606481018490526084016104b1565b6000838152602081815260408083206001600160a01b038d16845290915290209082900390555b6001600160a01b03871615610b35576000828152602081815260408083206001600160a01b038b16845290915281208054839290610b2f90849061167a565b90915550505b5050600101610a3d565b508251600103610bc05760208301516000906020840151909150856001600160a01b0316876001600160a01b0316846001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051610bb1929190918252602082015260400190565b60405180910390a45050610a03565b836001600160a01b0316856001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051610c0f92919061168d565b60405180910390a45050505050565b6001600160a01b0384163b156109125760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190610c6290899089908890889088906004016116bb565b6020604051808303816000875af1925050508015610c9d575060408051601f3d908101601f19168201909252610c9a91810190611700565b60015b610d06573d808015610ccb576040519150601f19603f3d011682016040523d82523d6000602084013e610cd0565b606091505b508051600003610cfe57604051632bfa23e760e11b81526001600160a01b03861660048201526024016104b1565b805181602001fd5b6001600160e01b0319811663f23a6e6160e01b14610d4257604051632bfa23e760e11b81526001600160a01b03861660048201526024016104b1565b50505050505050565b6001600160a01b0384163b156109125760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190610d8f908990899088908890889060040161171d565b6020604051808303816000875af1925050508015610dca575060408051601f3d908101601f19168201909252610dc791810190611700565b60015b610df8573d808015610ccb576040519150601f19603f3d011682016040523d82523d6000602084013e610cd0565b6001600160e01b0319811663bc197c8160e01b14610d4257604051632bfa23e760e11b81526001600160a01b03861660048201526024016104b1565b80356001600160a01b0381168114610e4b57600080fd5b919050565b60008060408385031215610e6357600080fd5b610e6c83610e34565b946020939093013593505050565b6001600160e01b031981168114610e9057600080fd5b50565b600060208284031215610ea557600080fd5b8135610eb081610e7a565b9392505050565b60005b83811015610ed2578181015183820152602001610eba565b50506000910152565b60008151808452610ef3816020860160208601610eb7565b601f01601f19169290920160200192915050565b602081526000610eb06020830184610edb565b600060208284031215610f2c57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610f7157610f71610f33565b604052919050565b6000806001600160401b03841115610f9357610f93610f33565b50601f8301601f1916602001610fa881610f49565b915050828152838383011115610fbd57600080fd5b828260208301376000602084830101529392505050565b600082601f830112610fe557600080fd5b610eb083833560208501610f79565b6000806040838503121561100757600080fd5b82356001600160401b0381111561101d57600080fd5b61102985828601610fd4565b92505060208301356001600160401b0381111561104557600080fd5b8301601f8101851361105657600080fd5b61106585823560208401610f79565b9150509250929050565b60006001600160401b0382111561108857611088610f33565b5060051b60200190565b600082601f8301126110a357600080fd5b81356110b66110b18261106f565b610f49565b8082825260208201915060208360051b8601019250858311156110d857600080fd5b602085015b838110156110f55780358352602092830192016110dd565b5095945050505050565b600080600080600060a0868803121561111757600080fd5b61112086610e34565b945061112e60208701610e34565b935060408601356001600160401b0381111561114957600080fd5b61115588828901611092565b93505060608601356001600160401b0381111561117157600080fd5b61117d88828901611092565b92505060808601356001600160401b0381111561119957600080fd5b6111a588828901610fd4565b9150509295509295909350565b6000602082840312156111c457600080fd5b81356001600160401b038111156111da57600080fd5b6111e684828501610fd4565b949350505050565b600082601f8301126111ff57600080fd5b813561120d6110b18261106f565b8082825260208201915060208360051b86010192508583111561122f57600080fd5b602085015b838110156110f55761124581610e34565b835260209283019201611234565b6000806040838503121561126657600080fd5b82356001600160401b0381111561127c57600080fd5b611288858286016111ee565b92505060208301356001600160401b038111156112a457600080fd5b61106585828601611092565b600081518084526020840193506020830160005b828110156112e25781518652602095860195909101906001016112c4565b5093949350505050565b602081526000610eb060208301846112b0565b60008060006060848603121561131457600080fd5b83356001600160401b0381111561132a57600080fd5b61133686828701610fd4565b93505060208401356001600160401b0381111561135257600080fd5b61135e868287016111ee565b92505060408401356001600160401b0381111561137a57600080fd5b61138686828701611092565b9150509250925092565b6000806000606084860312156113a557600080fd5b6113ae84610e34565b925060208401356001600160401b038111156113c957600080fd5b6113d586828701610fd4565b93969395505050506040919091013590565b600080604083850312156113fa57600080fd5b61140383610e34565b91506020830135801515811461141857600080fd5b809150509250929050565b6000806040838503121561143657600080fd5b61143f83610e34565b915061144d60208401610e34565b90509250929050565b600080600080600060a0868803121561146e57600080fd5b61147786610e34565b945061148560208701610e34565b9350604086013592506060860135915060808601356001600160401b0381111561119957600080fd5b600181811c908216806114c257607f821691505b6020821081036114e257634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600d908201526c139bdd081c195c9b5a5d1d1959609a1b604082015260600190565b60008251611521818460208701610eb7565b9190910192915050565b601f82111561157257806000526020600020601f840160051c810160208510156115525750805b601f840160051c820191505b81811015610a03576000815560010161155e565b505050565b81516001600160401b0381111561159057611590610f33565b6115a48161159e84546114ae565b8461152b565b6020601f8211600181146115d857600083156115c05750848201515b600019600385901b1c1916600184901b178455610a03565b600084815260208120601f198516915b8281101561160857878501518255602094850194600190920191016115e8565b50848210156116265786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b60006001820161165d5761165d611635565b5060010190565b634e487b7160e01b600052603260045260246000fd5b8082018082111561030f5761030f611635565b6040815260006116a060408301856112b0565b82810360208401526116b281856112b0565b95945050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906116f590830184610edb565b979650505050505050565b60006020828403121561171257600080fd5b8151610eb081610e7a565b6001600160a01b0386811682528516602082015260a060408201819052600090611749908301866112b0565b828103606084015261175b81866112b0565b9050828103608084015261176f8185610edb565b9897505050505050505056fea26469706673582212201d0f45dbdaf1c994bb9cfb00fe413c84999b2ae90dbf6bf83de130c96be9290864736f6c634300081a0033a2646970667358221220395ab8572620eb57ac7171c121d9fa8af9dbb44b47eaa1addefef62cb5152e6c64736f6c634300081a0033