UNPKG

@arbitrum/nitro-contracts

Version:

Layer 2 precompiles and rollup for Arbitrum Nitro

304 lines (303 loc) 28.3 kB
{ "_format": "hh-sol-artifact-1", "contractName": "Simple", "sourceName": "src/mocks/Simple.sol", "abi": [ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint64", "name": "count", "type": "uint64" } ], "name": "CounterEvent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "expected", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "have", "type": "uint256" } ], "name": "LogAndIncrementCalled", "type": "event" }, { "anonymous": false, "inputs": [], "name": "NullEvent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "caller", "type": "address" }, { "indexed": false, "internalType": "address", "name": "redeemer", "type": "address" } ], "name": "RedeemedEvent", "type": "event" }, { "inputs": [], "name": "checkBlockHashes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "useTopLevel", "type": "bool" }, { "internalType": "bool", "name": "directCase", "type": "bool" }, { "internalType": "bool", "name": "staticCase", "type": "bool" }, { "internalType": "bool", "name": "delegateCase", "type": "bool" }, { "internalType": "bool", "name": "callcodeCase", "type": "bool" }, { "internalType": "bool", "name": "callCase", "type": "bool" } ], "name": "checkCalls", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "bytes", "name": "input", "type": "bytes" } ], "name": "checkGasUsed", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "useTopLevel", "type": "bool" }, { "internalType": "bool", "name": "expected", "type": "bool" } ], "name": "checkIsTopLevelOrWasAliased", "outputs": [], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "counter", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "difficulty", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "emitNullEvent", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getBlockDifficulty", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "increment", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "incrementEmit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "incrementRedeem", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "expected", "type": "uint256" } ], "name": "logAndIncrement", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "noop", "outputs": [], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "pleaseRevert", "outputs": [], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "contract ISequencerInbox", "name": "sequencerInbox", "type": "address" }, { "internalType": "bytes", "name": "batchData", "type": "bytes" }, { "internalType": "uint256", "name": "numberToPost", "type": "uint256" } ], "name": "postManyBatches", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32[]", "name": "ticketIds", "type": "bytes32[]" }, { "internalType": "address payable[]", "name": "addresses", "type": "address[]" } ], "name": "redeemAllAndCreateAddresses", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "storeDifficulty", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b5061155b806100206000396000f3fe60806040526004361061010e5760003560e01c806361bc221a116100a5578063b226a96411610074578063cff36f2d11610059578063cff36f2d14610291578063d09de08a146102a7578063ded5ecad146102bc57600080fd5b8063b226a96414610269578063b2b6f0901461027e57600080fd5b806361bc221a146101da5780638a390877146102145780639ff5ccac14610234578063b1948fc31461024957600080fd5b80631a2f8a92116100e15780631a2f8a921461017957806344c25fba146101995780635677c11e146101b95780635dfc2e4a146101ce57600080fd5b806305795f73146101135780630e8c389f1461012a57806312e05dd11461013f57806319cae46214610163575b600080fd5b34801561011f57600080fd5b506101286102dc565b005b34801561013657600080fd5b50610128610329565b34801561014b57600080fd5b506001545b6040519081526020015b60405180910390f35b34801561016f57600080fd5b5061015060015481565b34801561018557600080fd5b50610150610194366004611059565b610512565b3480156101a557600080fd5b506101286101b43660046110ec565b610596565b3480156101c557600080fd5b50610150610a1f565b34801561012857600080fd5b3480156101e657600080fd5b506000546101fb9067ffffffffffffffff1681565b60405167ffffffffffffffff909116815260200161015a565b34801561022057600080fd5b5061012861022f36600461116e565b610a8b565b34801561024057600080fd5b50610128610b14565b34801561025557600080fd5b5061012861026436600461119d565b610b83565b34801561027557600080fd5b50610128610d05565b61012861028c3660046112b6565b610d30565b34801561029d57600080fd5b5061012844600155565b3480156102b357600080fd5b50610128610efe565b3480156102c857600080fd5b506101286102d7366004611322565b610f40565b60405162461bcd60e51b815260206004820152601260248201527f534f4c49444954595f524556455254494e47000000000000000000000000000060448201526064015b60405180910390fd5b3332146103785760405162461bcd60e51b815260206004820152601160248201527f53454e4445525f4e4f545f4f524947494e0000000000000000000000000000006044820152606401610320565b60646001600160a01b031663175a260b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103db919061135b565b6104275760405162461bcd60e51b815260206004820152600b60248201527f4e4f545f414c49415345440000000000000000000000000000000000000000006044820152606401610320565b6000805467ffffffffffffffff16908061044083611395565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550507f773c78bf96e65f61c1a2622b47d76e78bfe70dd59cf4f11470c4c121c315941333606e6001600160a01b031663de4ba2b36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ec91906113bc565b604080516001600160a01b039384168152929091166020830152015b60405180910390a1565b6000805a90506001600160a01b03851661052e612710836113d9565b858560405161053e9291906113f2565b6000604051808303818686fa925050503d806000811461057a576040519150601f19603f3d011682016040523d82523d6000602084013e61057f565b606091505b5050505a61058d90826113d9565b95945050505050565b85156106565784151560646001600160a01b03166308bd624c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610602919061135b565b1515146106515760405162461bcd60e51b815260206004820152601160248201527f554e45585045435445445f524553554c540000000000000000000000000000006044820152606401610320565b61070b565b84151560646001600160a01b031663175a260b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bc919061135b565b15151461070b5760405162461bcd60e51b815260206004820152601160248201527f554e45585045435445445f524553554c540000000000000000000000000000006044820152606401610320565b60405163ded5ecad60e01b815286151560048201528415156024820152309063ded5ecad9060440160006040518083038186803b15801561074b57600080fd5b505afa15801561075f573d6000803e3d6000fd5b505060408051891515602482015286151560448083019190915282518083039091018152606490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1663ded5ecad60e01b17905290519092506000915030906107cf908490611426565b600060405180830381855af49150503d806000811461080a576040519150601f19603f3d011682016040523d82523d6000602084013e61080f565b606091505b50509050806108605760405162461bcd60e51b815260206004820152601460248201527f44454c45474154455f43414c4c5f4641494c45440000000000000000000000006044820152606401610320565b6040805189151560248201528515156044808301919091528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1663ded5ecad60e01b1781528151919350600091829182305af29050806109165760405162461bcd60e51b815260206004820152600f60248201527f43414c4c434f44455f4641494c454400000000000000000000000000000000006044820152606401610320565b60408051891515602482015284151560448083019190915282518083039091018152606490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1663ded5ecad60e01b17905290519092503090610980908490611426565b6000604051808303816000865af19150503d80600081146109bd576040519150601f19603f3d011682016040523d82523d6000602084013e6109c2565b606091505b50508091505080610a155760405162461bcd60e51b815260206004820152600b60248201527f43414c4c5f4641494c45440000000000000000000000000000000000000000006044820152606401610320565b5050505050505050565b6000610a2c6002436113d9565b40610a386001436113d9565b4003610a865760405162461bcd60e51b815260206004820152600f60248201527f53414d455f424c4f434b5f4841534800000000000000000000000000000000006044820152606401610320565b504390565b6000546040805183815267ffffffffffffffff90921660208301527f8df8e492f407b078593c5d8fd7e65ef68505999d911d5b99b017c0b7077398b9910160405180910390a16000805467ffffffffffffffff169080610aea83611395565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b6000805467ffffffffffffffff169080610b2d83611395565b82546101009290920a67ffffffffffffffff818102199093169183160217909155600054604051911681527fa45d7e79cb3c6044f30c8dd891e6571301d6b8b6618df519c987905ec70742e79150602001610508565b6000836001600160a01b03166306f130566040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be79190611442565b90506000846001600160a01b0316637fa3a40e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4d9190611442565b905060005b83811015610cfd576040517fe0bc97290000000000000000000000000000000000000000000000000000000081526001600160a01b0387169063e0bc972990610caa908690899087906000908190819060040161145b565b600060405180830381600087803b158015610cc457600080fd5b505af1158015610cd8573d6000803e3d6000fd5b505050508280610ce7906114ba565b9350508080610cf5906114ba565b915050610c52565b505050505050565b6040517f6f59c82101949290205a9ae9d0c657e6dae1a71c301ae76d385c2792294585fe90600090a1565b60005b83811015610e7d57606e63eda1122c620186a0878785818110610d5857610d586114f2565b905060200201356040518363ffffffff1660e01b8152600401610d7d91815260200190565b60206040518083038160008887f193505050508015610db9575060408051601f3d908101601f19168201909252610db691810190611442565b60015b610e2a5760405162461bcd60e51b8152602060048201526024808201527f4661696c656420746f2072656465656d206f6e65206f72206d6f72652074696360448201527f6b657473000000000000000000000000000000000000000000000000000000006064820152608401610320565b506000805467ffffffffffffffff169080610e4483611395565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505080610e75816114ba565b915050610d33565b5060005b81811015610ef757828282818110610e9b57610e9b6114f2565b9050602002016020810190610eb09190611508565b6040516001600160a01b03919091169060009060019082818181858883f19350505050158015610ee4573d6000803e3d6000fd5b5080610eef816114ba565b915050610e81565b5050505050565b6000805467ffffffffffffffff169080610f1783611395565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b8115610fff5780151560646001600160a01b03166308bd624c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fac919061135b565b151514610ffb5760405162461bcd60e51b815260206004820152601160248201527f554e45585045435445445f524553554c540000000000000000000000000000006044820152606401610320565b5050565b80151560646001600160a01b031663175a260b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f88573d6000803e3d6000fd5b6001600160a01b038116811461105657600080fd5b50565b60008060006040848603121561106e57600080fd5b833561107981611041565b9250602084013567ffffffffffffffff8082111561109657600080fd5b818601915086601f8301126110aa57600080fd5b8135818111156110b957600080fd5b8760208285010111156110cb57600080fd5b6020830194508093505050509250925092565b801515811461105657600080fd5b60008060008060008060c0878903121561110557600080fd5b8635611110816110de565b95506020870135611120816110de565b94506040870135611130816110de565b93506060870135611140816110de565b92506080870135611150816110de565b915060a0870135611160816110de565b809150509295509295509295565b60006020828403121561118057600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156111b257600080fd5b83356111bd81611041565b9250602084013567ffffffffffffffff808211156111da57600080fd5b818601915086601f8301126111ee57600080fd5b81358181111561120057611200611187565b604051601f8201601f19908116603f0116810190838211818310171561122857611228611187565b8160405282815289602084870101111561124157600080fd5b826020860160208301376000602084830101528096505050505050604084013590509250925092565b60008083601f84011261127c57600080fd5b50813567ffffffffffffffff81111561129457600080fd5b6020830191508360208260051b85010111156112af57600080fd5b9250929050565b600080600080604085870312156112cc57600080fd5b843567ffffffffffffffff808211156112e457600080fd5b6112f08883890161126a565b9096509450602087013591508082111561130957600080fd5b506113168782880161126a565b95989497509550505050565b6000806040838503121561133557600080fd5b8235611340816110de565b91506020830135611350816110de565b809150509250929050565b60006020828403121561136d57600080fd5b8151611378816110de565b9392505050565b634e487b7160e01b600052601160045260246000fd5b600067ffffffffffffffff8083168181036113b2576113b261137f565b6001019392505050565b6000602082840312156113ce57600080fd5b815161137881611041565b818103818111156113ec576113ec61137f565b92915050565b8183823760009101908152919050565b60005b8381101561141d578181015183820152602001611405565b50506000910152565b60008251611438818460208701611402565b9190910192915050565b60006020828403121561145457600080fd5b5051919050565b86815260c06020820152600086518060c08401526114808160e0850160208b01611402565b6040830196909652506001600160a01b03939093166060840152608083019190915260a082015260e0601f909201601f1916010192915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036114eb576114eb61137f565b5060010190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561151a57600080fd5b81356113788161104156fea2646970667358221220cc2304f3f5e5a961a2bcb37934cea36c9c89daa2cdf43066d1dbc6e942f36c5a64736f6c63430008110033", "deployedBytecode": "0x60806040526004361061010e5760003560e01c806361bc221a116100a5578063b226a96411610074578063cff36f2d11610059578063cff36f2d14610291578063d09de08a146102a7578063ded5ecad146102bc57600080fd5b8063b226a96414610269578063b2b6f0901461027e57600080fd5b806361bc221a146101da5780638a390877146102145780639ff5ccac14610234578063b1948fc31461024957600080fd5b80631a2f8a92116100e15780631a2f8a921461017957806344c25fba146101995780635677c11e146101b95780635dfc2e4a146101ce57600080fd5b806305795f73146101135780630e8c389f1461012a57806312e05dd11461013f57806319cae46214610163575b600080fd5b34801561011f57600080fd5b506101286102dc565b005b34801561013657600080fd5b50610128610329565b34801561014b57600080fd5b506001545b6040519081526020015b60405180910390f35b34801561016f57600080fd5b5061015060015481565b34801561018557600080fd5b50610150610194366004611059565b610512565b3480156101a557600080fd5b506101286101b43660046110ec565b610596565b3480156101c557600080fd5b50610150610a1f565b34801561012857600080fd5b3480156101e657600080fd5b506000546101fb9067ffffffffffffffff1681565b60405167ffffffffffffffff909116815260200161015a565b34801561022057600080fd5b5061012861022f36600461116e565b610a8b565b34801561024057600080fd5b50610128610b14565b34801561025557600080fd5b5061012861026436600461119d565b610b83565b34801561027557600080fd5b50610128610d05565b61012861028c3660046112b6565b610d30565b34801561029d57600080fd5b5061012844600155565b3480156102b357600080fd5b50610128610efe565b3480156102c857600080fd5b506101286102d7366004611322565b610f40565b60405162461bcd60e51b815260206004820152601260248201527f534f4c49444954595f524556455254494e47000000000000000000000000000060448201526064015b60405180910390fd5b3332146103785760405162461bcd60e51b815260206004820152601160248201527f53454e4445525f4e4f545f4f524947494e0000000000000000000000000000006044820152606401610320565b60646001600160a01b031663175a260b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103db919061135b565b6104275760405162461bcd60e51b815260206004820152600b60248201527f4e4f545f414c49415345440000000000000000000000000000000000000000006044820152606401610320565b6000805467ffffffffffffffff16908061044083611395565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550507f773c78bf96e65f61c1a2622b47d76e78bfe70dd59cf4f11470c4c121c315941333606e6001600160a01b031663de4ba2b36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ec91906113bc565b604080516001600160a01b039384168152929091166020830152015b60405180910390a1565b6000805a90506001600160a01b03851661052e612710836113d9565b858560405161053e9291906113f2565b6000604051808303818686fa925050503d806000811461057a576040519150601f19603f3d011682016040523d82523d6000602084013e61057f565b606091505b5050505a61058d90826113d9565b95945050505050565b85156106565784151560646001600160a01b03166308bd624c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610602919061135b565b1515146106515760405162461bcd60e51b815260206004820152601160248201527f554e45585045435445445f524553554c540000000000000000000000000000006044820152606401610320565b61070b565b84151560646001600160a01b031663175a260b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bc919061135b565b15151461070b5760405162461bcd60e51b815260206004820152601160248201527f554e45585045435445445f524553554c540000000000000000000000000000006044820152606401610320565b60405163ded5ecad60e01b815286151560048201528415156024820152309063ded5ecad9060440160006040518083038186803b15801561074b57600080fd5b505afa15801561075f573d6000803e3d6000fd5b505060408051891515602482015286151560448083019190915282518083039091018152606490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1663ded5ecad60e01b17905290519092506000915030906107cf908490611426565b600060405180830381855af49150503d806000811461080a576040519150601f19603f3d011682016040523d82523d6000602084013e61080f565b606091505b50509050806108605760405162461bcd60e51b815260206004820152601460248201527f44454c45474154455f43414c4c5f4641494c45440000000000000000000000006044820152606401610320565b6040805189151560248201528515156044808301919091528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1663ded5ecad60e01b1781528151919350600091829182305af29050806109165760405162461bcd60e51b815260206004820152600f60248201527f43414c4c434f44455f4641494c454400000000000000000000000000000000006044820152606401610320565b60408051891515602482015284151560448083019190915282518083039091018152606490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1663ded5ecad60e01b17905290519092503090610980908490611426565b6000604051808303816000865af19150503d80600081146109bd576040519150601f19603f3d011682016040523d82523d6000602084013e6109c2565b606091505b50508091505080610a155760405162461bcd60e51b815260206004820152600b60248201527f43414c4c5f4641494c45440000000000000000000000000000000000000000006044820152606401610320565b5050505050505050565b6000610a2c6002436113d9565b40610a386001436113d9565b4003610a865760405162461bcd60e51b815260206004820152600f60248201527f53414d455f424c4f434b5f4841534800000000000000000000000000000000006044820152606401610320565b504390565b6000546040805183815267ffffffffffffffff90921660208301527f8df8e492f407b078593c5d8fd7e65ef68505999d911d5b99b017c0b7077398b9910160405180910390a16000805467ffffffffffffffff169080610aea83611395565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b6000805467ffffffffffffffff169080610b2d83611395565b82546101009290920a67ffffffffffffffff818102199093169183160217909155600054604051911681527fa45d7e79cb3c6044f30c8dd891e6571301d6b8b6618df519c987905ec70742e79150602001610508565b6000836001600160a01b03166306f130566040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be79190611442565b90506000846001600160a01b0316637fa3a40e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4d9190611442565b905060005b83811015610cfd576040517fe0bc97290000000000000000000000000000000000000000000000000000000081526001600160a01b0387169063e0bc972990610caa908690899087906000908190819060040161145b565b600060405180830381600087803b158015610cc457600080fd5b505af1158015610cd8573d6000803e3d6000fd5b505050508280610ce7906114ba565b9350508080610cf5906114ba565b915050610c52565b505050505050565b6040517f6f59c82101949290205a9ae9d0c657e6dae1a71c301ae76d385c2792294585fe90600090a1565b60005b83811015610e7d57606e63eda1122c620186a0878785818110610d5857610d586114f2565b905060200201356040518363ffffffff1660e01b8152600401610d7d91815260200190565b60206040518083038160008887f193505050508015610db9575060408051601f3d908101601f19168201909252610db691810190611442565b60015b610e2a5760405162461bcd60e51b8152602060048201526024808201527f4661696c656420746f2072656465656d206f6e65206f72206d6f72652074696360448201527f6b657473000000000000000000000000000000000000000000000000000000006064820152608401610320565b506000805467ffffffffffffffff169080610e4483611395565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505080610e75816114ba565b915050610d33565b5060005b81811015610ef757828282818110610e9b57610e9b6114f2565b9050602002016020810190610eb09190611508565b6040516001600160a01b03919091169060009060019082818181858883f19350505050158015610ee4573d6000803e3d6000fd5b5080610eef816114ba565b915050610e81565b5050505050565b6000805467ffffffffffffffff169080610f1783611395565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b8115610fff5780151560646001600160a01b03166308bd624c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fac919061135b565b151514610ffb5760405162461bcd60e51b815260206004820152601160248201527f554e45585045435445445f524553554c540000000000000000000000000000006044820152606401610320565b5050565b80151560646001600160a01b031663175a260b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f88573d6000803e3d6000fd5b6001600160a01b038116811461105657600080fd5b50565b60008060006040848603121561106e57600080fd5b833561107981611041565b9250602084013567ffffffffffffffff8082111561109657600080fd5b818601915086601f8301126110aa57600080fd5b8135818111156110b957600080fd5b8760208285010111156110cb57600080fd5b6020830194508093505050509250925092565b801515811461105657600080fd5b60008060008060008060c0878903121561110557600080fd5b8635611110816110de565b95506020870135611120816110de565b94506040870135611130816110de565b93506060870135611140816110de565b92506080870135611150816110de565b915060a0870135611160816110de565b809150509295509295509295565b60006020828403121561118057600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156111b257600080fd5b83356111bd81611041565b9250602084013567ffffffffffffffff808211156111da57600080fd5b818601915086601f8301126111ee57600080fd5b81358181111561120057611200611187565b604051601f8201601f19908116603f0116810190838211818310171561122857611228611187565b8160405282815289602084870101111561124157600080fd5b826020860160208301376000602084830101528096505050505050604084013590509250925092565b60008083601f84011261127c57600080fd5b50813567ffffffffffffffff81111561129457600080fd5b6020830191508360208260051b85010111156112af57600080fd5b9250929050565b600080600080604085870312156112cc57600080fd5b843567ffffffffffffffff808211156112e457600080fd5b6112f08883890161126a565b9096509450602087013591508082111561130957600080fd5b506113168782880161126a565b95989497509550505050565b6000806040838503121561133557600080fd5b8235611340816110de565b91506020830135611350816110de565b809150509250929050565b60006020828403121561136d57600080fd5b8151611378816110de565b9392505050565b634e487b7160e01b600052601160045260246000fd5b600067ffffffffffffffff8083168181036113b2576113b261137f565b6001019392505050565b6000602082840312156113ce57600080fd5b815161137881611041565b818103818111156113ec576113ec61137f565b92915050565b8183823760009101908152919050565b60005b8381101561141d578181015183820152602001611405565b50506000910152565b60008251611438818460208701611402565b9190910192915050565b60006020828403121561145457600080fd5b5051919050565b86815260c06020820152600086518060c08401526114808160e0850160208b01611402565b6040830196909652506001600160a01b03939093166060840152608083019190915260a082015260e0601f909201601f1916010192915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036114eb576114eb61137f565b5060010190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561151a57600080fd5b81356113788161104156fea2646970667358221220cc2304f3f5e5a961a2bcb37934cea36c9c89daa2cdf43066d1dbc6e942f36c5a64736f6c63430008110033", "linkReferences": {}, "deployedLinkReferences": {} }