diff --git a/artifacts/build-info/b43de896c4a7f61663b58f2daf55e96f.json b/artifacts/build-info/b43de896c4a7f61663b58f2daf55e96f.json new file mode 100644 index 0000000..fcbacf7 --- /dev/null +++ b/artifacts/build-info/b43de896c4a7f61663b58f2daf55e96f.json @@ -0,0 +1 @@ +{"id":"b43de896c4a7f61663b58f2daf55e96f","_format":"hh-sol-build-info-1","solcVersion":"0.8.19","solcLongVersion":"0.8.19+commit.7dd6d404","input":{"language":"Solidity","sources":{"contracts/CropChain.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.19;\n\nimport \"./security/ReentrancyGuard.sol\";\nimport \"./security/Pausable.sol\";\n\ncontract CropChain is ReentrancyGuard, Pausable {\n /* ================= ENUMS ================= */\n\n enum Stage {\n Farmer,\n Mandi,\n Transport,\n Retailer\n }\n\n enum ActorRole {\n None,\n Farmer,\n Mandi,\n Transporter,\n Retailer,\n Admin\n }\n\n /* ================= STRUCTS ================= */\n\n struct CropBatch {\n bytes32 batchId;\n string ipfsCID;\n uint256 quantity;\n uint256 createdAt;\n address creator;\n bool exists;\n bool isRecalled;\n }\n\n struct SupplyChainUpdate {\n Stage stage;\n string actorName;\n string location;\n uint256 timestamp;\n string notes;\n address updatedBy;\n }\n\n struct PriceObservation {\n uint256 price;\n uint256 timestamp;\n }\n\n /* ================= STORAGE ================= */\n\n mapping(bytes32 => CropBatch) public cropBatches;\n mapping(bytes32 => SupplyChainUpdate[]) public batchUpdates;\n mapping(address => ActorRole) public roles;\n\n bytes32[] public allBatchIds;\n\n address public owner;\n\n mapping(address => uint256) public mandiLiquidity;\n uint256 public totalLiquidity;\n\n mapping(bytes32 => PriceObservation[]) private cropPriceObservations;\n uint256 public constant DEFAULT_TWAP_WINDOW = 30 minutes;\n\n /* ================= EVENTS ================= */\n\n event BatchCreated(\n bytes32 indexed batchId,\n string ipfsCID,\n uint256 quantity,\n address indexed creator\n );\n\n event BatchUpdated(\n bytes32 indexed batchId,\n Stage stage,\n string actorName,\n string location,\n address indexed updatedBy\n );\n\n event ActorAuthorized(address indexed actor, bool authorized);\n event RoleUpdated(address indexed actor, ActorRole role);\n event BatchRecalled(string indexed batchId, address indexed triggeredBy);\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n event PauseStateUpdated(address indexed by, bool paused);\n\n event LiquidityDeposited(address indexed account, uint256 amount);\n event LiquidityWithdrawn(address indexed account, uint256 amount);\n\n event SpotPriceSubmitted(string indexed cropType, uint256 price, uint256 timestamp, address indexed updatedBy);\n\n /* ================= MODIFIERS ================= */\n\n modifier onlyOwner() {\n require(msg.sender == owner, \"Only owner\");\n _;\n }\n\n modifier onlyAuthorized() {\n require(roles[msg.sender] != ActorRole.None, \"Not authorized\");\n _;\n }\n\n modifier onlyMandiOrAdmin() {\n ActorRole role = roles[msg.sender];\n require(role == ActorRole.Mandi || role == ActorRole.Admin, \"Mandi/Admin only\");\n _;\n }\n\n modifier batchExists(bytes32 _batchId) {\n require(cropBatches[_batchId].exists, \"Batch not found\");\n _;\n }\n\n /* ================= CONSTRUCTOR ================= */\n\n constructor() {\n owner = msg.sender;\n roles[msg.sender] = ActorRole.Admin;\n }\n\n /* ================= ROLE MANAGEMENT ================= */\n\n function setRole(address _user, ActorRole _role)\n external\n onlyOwner\n nonReentrant\n {\n require(_user != address(0), \"Invalid address\");\n\n roles[_user] = _role;\n\n emit RoleUpdated(_user, _role);\n emit ActorAuthorized(_user, _role != ActorRole.None);\n }\n\n /* ================= INTERNAL HELPERS ================= */\n\n function _toBatchHash(string memory _batchId) internal pure returns (bytes32) {\n return keccak256(bytes(_batchId));\n }\n\n function _canUpdate(Stage _stage, ActorRole _role)\n internal\n pure\n returns (bool)\n {\n if (_stage == Stage.Farmer && _role == ActorRole.Farmer) return true;\n if (_stage == Stage.Mandi && _role == ActorRole.Mandi) return true;\n if (_stage == Stage.Transport && _role == ActorRole.Transporter) return true;\n if (_stage == Stage.Retailer && _role == ActorRole.Retailer) return true;\n return false;\n }\n\n function _isNextStage(bytes32 _batchId, Stage _newStage)\n internal\n view\n returns (bool)\n {\n SupplyChainUpdate[] storage updates = batchUpdates[_batchId];\n\n if (updates.length == 0) {\n return _newStage == Stage.Farmer;\n }\n\n Stage last = updates[updates.length - 1].stage;\n return uint256(_newStage) == uint256(last) + 1;\n }\n\n /* ================= BATCH CREATION ================= */\n\n function createBatch(\n string memory _batchId,\n string memory _farmerName,\n string memory _farmerAddress,\n string memory _cropType,\n uint256 _quantity,\n string memory _harvestDate,\n string memory _origin,\n string memory _certifications,\n string memory _description\n ) external onlyAuthorized whenNotPaused nonReentrant {\n bytes32 batchHash = _toBatchHash(_batchId);\n\n require(!cropBatches[batchHash].exists, \"Batch already exists\");\n require(bytes(_batchId).length > 0, \"Batch ID cannot be empty\");\n require(bytes(_farmerName).length > 0, \"Farmer name cannot be empty\");\n require(bytes(_farmerAddress).length > 0, \"Farmer address cannot be empty\");\n require(bytes(_cropType).length > 0, \"Crop type cannot be empty\");\n require(bytes(_harvestDate).length > 0, \"Harvest date cannot be empty\");\n require(bytes(_origin).length > 0, \"Origin cannot be empty\");\n require(_quantity > 0, \"Quantity must be greater than 0\");\n\n // Backward-compatible field usage: _description carries the off-chain metadata CID.\n string memory ipfsCID = _description;\n\n cropBatches[batchHash] = CropBatch({\n batchId: batchHash,\n ipfsCID: ipfsCID,\n quantity: _quantity,\n createdAt: block.timestamp,\n creator: msg.sender,\n exists: true,\n isRecalled: false\n });\n\n batchUpdates[batchHash].push(\n SupplyChainUpdate({\n stage: Stage.Farmer,\n actorName: _farmerName,\n location: _origin,\n timestamp: block.timestamp,\n notes: string.concat(\"Crop:\", _cropType, \"; Harvest:\", _harvestDate, \"; FarmerAddr:\", _farmerAddress, \"; Cert:\", _certifications),\n updatedBy: msg.sender\n })\n );\n\n allBatchIds.push(batchHash);\n\n emit BatchCreated(batchHash, ipfsCID, _quantity, msg.sender);\n }\n\n /* ================= BATCH UPDATE ================= */\n\n function updateBatch(\n bytes32 _batchId,\n Stage _stage,\n string memory _actorName,\n string memory _location,\n string memory _notes\n ) external onlyAuthorized whenNotPaused nonReentrant batchExists(_batchId) {\n ActorRole callerRole = roles[msg.sender];\n\n require(!cropBatches[_batchId].isRecalled, \"Batch is recalled\");\n require(bytes(_actorName).length > 0, \"Actor cannot be empty\");\n require(bytes(_location).length > 0, \"Location cannot be empty\");\n require(_isNextStage(_batchId, _stage), \"Invalid stage transition\");\n require(callerRole == ActorRole.Admin || _canUpdate(_stage, callerRole), \"Role cannot update this stage\");\n\n batchUpdates[_batchId].push(\n SupplyChainUpdate({\n stage: _stage,\n actorName: _actorName,\n location: _location,\n timestamp: block.timestamp,\n notes: _notes,\n updatedBy: msg.sender\n })\n );\n\n emit BatchUpdated(_batchId, _stage, _actorName, _location, msg.sender);\n }\n\n function recallBatch(string memory _batchId)\n external\n onlyOwner\n nonReentrant\n {\n bytes32 batchHash = _toBatchHash(_batchId);\n require(cropBatches[batchHash].exists, \"Batch not found\");\n\n cropBatches[batchHash].isRecalled = true;\n\n emit BatchRecalled(_batchId, msg.sender);\n }\n\n /* ================= MARKETPLACE LIQUIDITY ================= */\n\n function depositLiquidity()\n external\n payable\n onlyAuthorized\n onlyMandiOrAdmin\n whenNotPaused\n nonReentrant\n {\n require(msg.value > 0, \"Amount must be > 0\");\n\n mandiLiquidity[msg.sender] += msg.value;\n totalLiquidity += msg.value;\n\n emit LiquidityDeposited(msg.sender, msg.value);\n }\n\n function withdrawLiquidity(uint256 _amount)\n external\n onlyAuthorized\n onlyMandiOrAdmin\n whenNotPaused\n nonReentrant\n {\n require(_amount > 0, \"Amount must be > 0\");\n\n uint256 balance = mandiLiquidity[msg.sender];\n require(balance >= _amount, \"Insufficient liquidity\");\n\n // CEI: effects first\n mandiLiquidity[msg.sender] = balance - _amount;\n totalLiquidity -= _amount;\n\n // Interaction last\n (bool sent, ) = payable(msg.sender).call{value: _amount}(\"\");\n require(sent, \"Transfer failed\");\n\n emit LiquidityWithdrawn(msg.sender, _amount);\n }\n\n /* ================= TWAP ORACLE HARDENING ================= */\n\n function submitSpotPrice(string calldata _cropType, uint256 _price)\n external\n onlyAuthorized\n onlyMandiOrAdmin\n whenNotPaused\n nonReentrant\n {\n require(bytes(_cropType).length > 0, \"Crop type cannot be empty\");\n require(_price > 0, \"Price must be > 0\");\n\n bytes32 cropKey = keccak256(bytes(_cropType));\n cropPriceObservations[cropKey].push(\n PriceObservation({price: _price, timestamp: block.timestamp})\n );\n\n emit SpotPriceSubmitted(_cropType, _price, block.timestamp, msg.sender);\n }\n\n function getPriceObservationCount(string calldata _cropType)\n external\n view\n returns (uint256)\n {\n bytes32 cropKey = keccak256(bytes(_cropType));\n return cropPriceObservations[cropKey].length;\n }\n\n function getLatestSpotPrice(string calldata _cropType)\n external\n view\n returns (uint256 price, uint256 timestamp)\n {\n bytes32 cropKey = keccak256(bytes(_cropType));\n PriceObservation[] storage observations = cropPriceObservations[cropKey];\n require(observations.length > 0, \"No price observations\");\n\n PriceObservation storage latest = observations[observations.length - 1];\n return (latest.price, latest.timestamp);\n }\n\n function getTwapPrice(string calldata _cropType, uint256 _windowSeconds)\n public\n view\n returns (uint256)\n {\n bytes32 cropKey = keccak256(bytes(_cropType));\n PriceObservation[] storage observations = cropPriceObservations[cropKey];\n require(observations.length > 0, \"No price observations\");\n\n uint256 windowSeconds = _windowSeconds == 0 ? DEFAULT_TWAP_WINDOW : _windowSeconds;\n require(windowSeconds > 0, \"Invalid window\");\n\n uint256 endTime = block.timestamp;\n uint256 startTime = endTime - windowSeconds;\n\n uint256 weightedSum = 0;\n uint256 weightedTime = 0;\n uint256 cursorTime = endTime;\n\n for (uint256 i = observations.length; i > 0; i--) {\n PriceObservation storage obs = observations[i - 1];\n\n if (obs.timestamp >= cursorTime) {\n continue;\n }\n\n uint256 segmentStart = obs.timestamp > startTime ? obs.timestamp : startTime;\n if (cursorTime > segmentStart) {\n uint256 duration = cursorTime - segmentStart;\n weightedSum += obs.price * duration;\n weightedTime += duration;\n }\n\n if (obs.timestamp <= startTime) {\n break;\n }\n\n cursorTime = obs.timestamp;\n }\n\n require(weightedTime > 0, \"Insufficient observations\");\n return weightedSum / weightedTime;\n }\n\n /* ================= READS ================= */\n\n function getBatch(string memory _batchId)\n external\n view\n returns (CropBatch memory)\n {\n bytes32 batchHash = _toBatchHash(_batchId);\n require(cropBatches[batchHash].exists, \"Batch not found\");\n return cropBatches[batchHash];\n }\n\n function getBatchUpdates(bytes32 _batchId)\n external\n view\n batchExists(_batchId)\n returns (SupplyChainUpdate[] memory)\n {\n return batchUpdates[_batchId];\n }\n\n function getBatchUpdatesById(string memory _batchId)\n external\n view\n returns (SupplyChainUpdate[] memory)\n {\n bytes32 batchHash = _toBatchHash(_batchId);\n require(cropBatches[batchHash].exists, \"Batch not found\");\n return batchUpdates[batchHash];\n }\n\n function getLatestUpdate(bytes32 _batchId)\n external\n view\n batchExists(_batchId)\n returns (SupplyChainUpdate memory)\n {\n SupplyChainUpdate[] storage updates = batchUpdates[_batchId];\n require(updates.length > 0, \"No updates\");\n return updates[updates.length - 1];\n }\n\n function getLatestUpdateById(string memory _batchId)\n external\n view\n returns (SupplyChainUpdate memory)\n {\n bytes32 batchHash = _toBatchHash(_batchId);\n require(cropBatches[batchHash].exists, \"Batch not found\");\n\n SupplyChainUpdate[] storage updates = batchUpdates[batchHash];\n require(updates.length > 0, \"No updates\");\n\n return updates[updates.length - 1];\n }\n\n function getTotalBatches() external view returns (uint256) {\n return allBatchIds.length;\n }\n\n function getBatchCount() external view returns (uint256) {\n return allBatchIds.length;\n }\n\n function getBatchIdByIndex(uint256 _index)\n external\n view\n returns (bytes32)\n {\n require(_index < allBatchIds.length, \"Out of bounds\");\n return allBatchIds[_index];\n }\n\n /* ================= ADMIN ================= */\n\n function transferOwnership(address _newOwner)\n external\n onlyOwner\n nonReentrant\n {\n require(_newOwner != address(0), \"Invalid address\");\n\n address previous = owner;\n owner = _newOwner;\n roles[_newOwner] = ActorRole.Admin;\n\n emit OwnershipTransferred(previous, _newOwner);\n }\n\n function setPaused(bool _paused)\n external\n onlyOwner\n nonReentrant\n {\n if (_paused) {\n _pause();\n } else {\n _unpause();\n }\n\n emit PauseStateUpdated(msg.sender, _paused);\n }\n}\n"},"contracts/security/Pausable.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (security/Pausable.sol)\npragma solidity ^0.8.19;\n\nabstract contract Pausable {\n event Paused(address account);\n event Unpaused(address account);\n\n bool private _paused;\n\n constructor() {\n _paused = false;\n }\n\n modifier whenNotPaused() {\n _requireNotPaused();\n _;\n }\n\n modifier whenPaused() {\n _requirePaused();\n _;\n }\n\n function paused() public view virtual returns (bool) {\n return _paused;\n }\n\n function _requireNotPaused() internal view virtual {\n require(!_paused, \"Pausable: paused\");\n }\n\n function _requirePaused() internal view virtual {\n require(_paused, \"Pausable: not paused\");\n }\n\n function _pause() internal virtual whenNotPaused {\n _paused = true;\n emit Paused(msg.sender);\n }\n\n function _unpause() internal virtual whenPaused {\n _paused = false;\n emit Unpaused(msg.sender);\n }\n}\n"},"contracts/security/ReentrancyGuard.sol":{"content":"// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.9.0) (security/ReentrancyGuard.sol)\npragma solidity ^0.8.19;\n\nabstract contract ReentrancyGuard {\n uint256 private constant _NOT_ENTERED = 1;\n uint256 private constant _ENTERED = 2;\n\n uint256 private _status;\n\n constructor() {\n _status = _NOT_ENTERED;\n }\n\n modifier nonReentrant() {\n _nonReentrantBefore();\n _;\n _nonReentrantAfter();\n }\n\n function _nonReentrantBefore() private {\n require(_status != _ENTERED, \"ReentrancyGuard: reentrant call\");\n _status = _ENTERED;\n }\n\n function _nonReentrantAfter() private {\n _status = _NOT_ENTERED;\n }\n}\n"},"contracts/test/ReentrancyAttacker.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.19;\n\nimport \"../CropChain.sol\";\n\ncontract ReentrancyAttacker {\n CropChain public immutable target;\n\n uint256 public withdrawAmount;\n uint256 public maxReentries;\n uint256 public reentryCount;\n bool public attackInProgress;\n bool public reentryBlocked;\n\n constructor(address _target) {\n target = CropChain(_target);\n }\n\n function depositToTarget() external payable {\n require(msg.value > 0, \"No value\");\n target.depositLiquidity{value: msg.value}();\n }\n\n function initiateAttack(uint256 _withdrawAmount, uint256 _maxReentries) external {\n require(_withdrawAmount > 0, \"Amount must be > 0\");\n\n withdrawAmount = _withdrawAmount;\n maxReentries = _maxReentries;\n reentryCount = 0;\n reentryBlocked = false;\n attackInProgress = true;\n\n target.withdrawLiquidity(_withdrawAmount);\n\n attackInProgress = false;\n }\n\n receive() external payable {\n if (!attackInProgress || reentryCount >= maxReentries) {\n return;\n }\n\n reentryCount += 1;\n\n try target.withdrawLiquidity(withdrawAmount) {\n // If this succeeds, the target is vulnerable.\n } catch {\n reentryBlocked = true;\n }\n }\n}\n"},"contracts/Verifier.sol":{"content":"// SPDX-License-Identifier: GPL-3.0\n/*\n Copyright 2021 0KIMS association.\n\n This file is generated with [snarkJS](https://github.com/iden3/snarkjs).\n\n snarkJS is a free software: you can redistribute it and/or modify it\n under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n snarkJS is distributed in the hope that it will be useful, but WITHOUT\n ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public\n License for more details.\n\n You should have received a copy of the GNU General Public License\n along with snarkJS. If not, see .\n*/\n\npragma solidity >=0.7.0 <0.9.0;\n\ncontract Groth16Verifier {\n // Scalar field size\n uint256 constant r = 21888242871839275222246405745257275088548364400416034343698204186575808495617;\n // Base field size\n uint256 constant q = 21888242871839275222246405745257275088696311157297823662689037894645226208583;\n\n // Verification Key data\n uint256 constant alphax = 20491192805390485299153009773594534940189261866228447918068658471970481763042;\n uint256 constant alphay = 9383485363053290200918347156157836566562967994039712273449902621266178545958;\n uint256 constant betax1 = 4252822878758300859123897981450591353533073413197771768651442665752259397132;\n uint256 constant betax2 = 6375614351688725206403948262868962793625744043794305715222011528459656738731;\n uint256 constant betay1 = 21847035105528745403288232691147584728191162732299865338377159692350059136679;\n uint256 constant betay2 = 10505242626370262277552901082094356697409835680220590971873171140371331206856;\n uint256 constant gammax1 = 11559732032986387107991004021392285783925812861821192530917403151452391805634;\n uint256 constant gammax2 = 10857046999023057135944570762232829481370756359578518086990519993285655852781;\n uint256 constant gammay1 = 4082367875863433681332203403145435568316851327593401208105741076214120093531;\n uint256 constant gammay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930;\n uint256 constant deltax1 = 15274544035688995235438479859717541007478233111996759887468498203903604942972;\n uint256 constant deltax2 = 13204254501904376235996096590569719535069728432252990237529365863144083412436;\n uint256 constant deltay1 = 20249382970753923802662416539560312007920020060532080631805241704947965919035;\n uint256 constant deltay2 = 8401472516930908870303347787550110238176345393246504878431846044740749341751;\n\n \n uint256 constant IC0x = 7208961304015467505974244928798294369663146566375946727480874978378963231594;\n uint256 constant IC0y = 21614551618839849099527790288527978962977478454444004954197553865077104731641;\n \n \n // Memory data\n uint16 constant pVk = 0;\n uint16 constant pPairing = 128;\n\n uint16 constant pLastMem = 896;\n\n function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[] calldata _pubSignals) public view returns (bool) {\n assembly {\n function checkField(v) {\n if iszero(lt(v, r)) {\n mstore(0, 0)\n return(0, 0x20)\n }\n }\n \n // G1 function to multiply a G1 value(x,y) to value in an address\n function g1_mulAccC(pR, x, y, s) {\n let success\n let mIn := mload(0x40)\n mstore(mIn, x)\n mstore(add(mIn, 32), y)\n mstore(add(mIn, 64), s)\n\n success := staticcall(sub(gas(), 2000), 7, mIn, 96, mIn, 64)\n\n if iszero(success) {\n mstore(0, 0)\n return(0, 0x20)\n }\n\n mstore(add(mIn, 64), mload(pR))\n mstore(add(mIn, 96), mload(add(pR, 32)))\n\n success := staticcall(sub(gas(), 2000), 6, mIn, 128, pR, 64)\n\n if iszero(success) {\n mstore(0, 0)\n return(0, 0x20)\n }\n }\n\n function checkPairing(pA, pB, pC, pMem) -> isOk {\n let _pPairing := add(pMem, pPairing)\n let _pVk := add(pMem, pVk)\n\n mstore(_pVk, IC0x)\n mstore(add(_pVk, 32), IC0y)\n\n // Compute the linear combination vk_x\n \n\n // -A\n mstore(_pPairing, calldataload(pA))\n mstore(add(_pPairing, 32), mod(sub(q, calldataload(add(pA, 32))), q))\n\n // B\n mstore(add(_pPairing, 64), calldataload(pB))\n mstore(add(_pPairing, 96), calldataload(add(pB, 32)))\n mstore(add(_pPairing, 128), calldataload(add(pB, 64)))\n mstore(add(_pPairing, 160), calldataload(add(pB, 96)))\n\n // alpha1\n mstore(add(_pPairing, 192), alphax)\n mstore(add(_pPairing, 224), alphay)\n\n // beta2\n mstore(add(_pPairing, 256), betax1)\n mstore(add(_pPairing, 288), betax2)\n mstore(add(_pPairing, 320), betay1)\n mstore(add(_pPairing, 352), betay2)\n\n // vk_x\n mstore(add(_pPairing, 384), mload(add(pMem, pVk)))\n mstore(add(_pPairing, 416), mload(add(pMem, add(pVk, 32))))\n\n\n // gamma2\n mstore(add(_pPairing, 448), gammax1)\n mstore(add(_pPairing, 480), gammax2)\n mstore(add(_pPairing, 512), gammay1)\n mstore(add(_pPairing, 544), gammay2)\n\n // C\n mstore(add(_pPairing, 576), calldataload(pC))\n mstore(add(_pPairing, 608), calldataload(add(pC, 32)))\n\n // delta2\n mstore(add(_pPairing, 640), deltax1)\n mstore(add(_pPairing, 672), deltax2)\n mstore(add(_pPairing, 704), deltay1)\n mstore(add(_pPairing, 736), deltay2)\n\n\n let success := staticcall(sub(gas(), 2000), 8, _pPairing, 768, _pPairing, 0x20)\n\n isOk := and(success, mload(_pPairing))\n }\n\n let pMem := mload(0x40)\n mstore(0x40, add(pMem, pLastMem))\n\n // Validate that all evaluations ∈ F\n \n\n // Validate all evaluations\n let isValid := checkPairing(_pA, _pB, _pC, pMem)\n\n mstore(0, isValid)\n return(0, 0x20)\n }\n }\n }\n"}},"settings":{"optimizer":{"enabled":true,"runs":200},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"errors":[{"component":"general","errorCode":"5667","formattedMessage":"Warning: Unused function parameter. Remove or comment out the variable name to silence this warning.\n --> contracts/Verifier.sol:56:95:\n |\n56 | ... alldata _pB, uint[2] calldata _pC, uint[] calldata _pubSignals) public view returns (bool) {\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n","message":"Unused function parameter. Remove or comment out the variable name to silence this warning.","severity":"warning","sourceLocation":{"end":3152,"file":"contracts/Verifier.sol","start":3125},"type":"Warning"}],"sources":{"contracts/CropChain.sol":{"ast":{"absolutePath":"contracts/CropChain.sol","exportedSymbols":{"CropChain":[1414],"Pausable":[1596],"ReentrancyGuard":[1648]},"id":1415,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","^","0.8",".19"],"nodeType":"PragmaDirective","src":"32:24:0"},{"absolutePath":"contracts/security/ReentrancyGuard.sol","file":"./security/ReentrancyGuard.sol","id":2,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1415,"sourceUnit":1649,"src":"58:40:0","symbolAliases":[],"unitAlias":""},{"absolutePath":"contracts/security/Pausable.sol","file":"./security/Pausable.sol","id":3,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1415,"sourceUnit":1597,"src":"99:33:0","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[{"baseName":{"id":4,"name":"ReentrancyGuard","nameLocations":["156:15:0"],"nodeType":"IdentifierPath","referencedDeclaration":1648,"src":"156:15:0"},"id":5,"nodeType":"InheritanceSpecifier","src":"156:15:0"},{"baseName":{"id":6,"name":"Pausable","nameLocations":["173:8:0"],"nodeType":"IdentifierPath","referencedDeclaration":1596,"src":"173:8:0"},"id":7,"nodeType":"InheritanceSpecifier","src":"173:8:0"}],"canonicalName":"CropChain","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":1414,"linearizedBaseContracts":[1414,1596,1648],"name":"CropChain","nameLocation":"143:9:0","nodeType":"ContractDefinition","nodes":[{"canonicalName":"CropChain.Stage","id":12,"members":[{"id":8,"name":"Farmer","nameLocation":"262:6:0","nodeType":"EnumValue","src":"262:6:0"},{"id":9,"name":"Mandi","nameLocation":"278:5:0","nodeType":"EnumValue","src":"278:5:0"},{"id":10,"name":"Transport","nameLocation":"293:9:0","nodeType":"EnumValue","src":"293:9:0"},{"id":11,"name":"Retailer","nameLocation":"312:8:0","nodeType":"EnumValue","src":"312:8:0"}],"name":"Stage","nameLocation":"246:5:0","nodeType":"EnumDefinition","src":"241:85:0"},{"canonicalName":"CropChain.ActorRole","id":19,"members":[{"id":13,"name":"None","nameLocation":"357:4:0","nodeType":"EnumValue","src":"357:4:0"},{"id":14,"name":"Farmer","nameLocation":"371:6:0","nodeType":"EnumValue","src":"371:6:0"},{"id":15,"name":"Mandi","nameLocation":"387:5:0","nodeType":"EnumValue","src":"387:5:0"},{"id":16,"name":"Transporter","nameLocation":"402:11:0","nodeType":"EnumValue","src":"402:11:0"},{"id":17,"name":"Retailer","nameLocation":"423:8:0","nodeType":"EnumValue","src":"423:8:0"},{"id":18,"name":"Admin","nameLocation":"441:5:0","nodeType":"EnumValue","src":"441:5:0"}],"name":"ActorRole","nameLocation":"337:9:0","nodeType":"EnumDefinition","src":"332:120:0"},{"canonicalName":"CropChain.CropBatch","id":34,"members":[{"constant":false,"id":21,"mutability":"mutable","name":"batchId","nameLocation":"548:7:0","nodeType":"VariableDeclaration","scope":34,"src":"540:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":20,"name":"bytes32","nodeType":"ElementaryTypeName","src":"540:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":23,"mutability":"mutable","name":"ipfsCID","nameLocation":"572:7:0","nodeType":"VariableDeclaration","scope":34,"src":"565:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":22,"name":"string","nodeType":"ElementaryTypeName","src":"565:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":25,"mutability":"mutable","name":"quantity","nameLocation":"597:8:0","nodeType":"VariableDeclaration","scope":34,"src":"589:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":24,"name":"uint256","nodeType":"ElementaryTypeName","src":"589:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":27,"mutability":"mutable","name":"createdAt","nameLocation":"623:9:0","nodeType":"VariableDeclaration","scope":34,"src":"615:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":26,"name":"uint256","nodeType":"ElementaryTypeName","src":"615:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":29,"mutability":"mutable","name":"creator","nameLocation":"650:7:0","nodeType":"VariableDeclaration","scope":34,"src":"642:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":28,"name":"address","nodeType":"ElementaryTypeName","src":"642:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":31,"mutability":"mutable","name":"exists","nameLocation":"672:6:0","nodeType":"VariableDeclaration","scope":34,"src":"667:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":30,"name":"bool","nodeType":"ElementaryTypeName","src":"667:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":33,"mutability":"mutable","name":"isRecalled","nameLocation":"693:10:0","nodeType":"VariableDeclaration","scope":34,"src":"688:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":32,"name":"bool","nodeType":"ElementaryTypeName","src":"688:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"CropBatch","nameLocation":"520:9:0","nodeType":"StructDefinition","scope":1414,"src":"513:197:0","visibility":"public"},{"canonicalName":"CropChain.SupplyChainUpdate","id":48,"members":[{"constant":false,"id":37,"mutability":"mutable","name":"stage","nameLocation":"757:5:0","nodeType":"VariableDeclaration","scope":48,"src":"751:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"},"typeName":{"id":36,"nodeType":"UserDefinedTypeName","pathNode":{"id":35,"name":"Stage","nameLocations":["751:5:0"],"nodeType":"IdentifierPath","referencedDeclaration":12,"src":"751:5:0"},"referencedDeclaration":12,"src":"751:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}},"visibility":"internal"},{"constant":false,"id":39,"mutability":"mutable","name":"actorName","nameLocation":"779:9:0","nodeType":"VariableDeclaration","scope":48,"src":"772:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":38,"name":"string","nodeType":"ElementaryTypeName","src":"772:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":41,"mutability":"mutable","name":"location","nameLocation":"805:8:0","nodeType":"VariableDeclaration","scope":48,"src":"798:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":40,"name":"string","nodeType":"ElementaryTypeName","src":"798:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":43,"mutability":"mutable","name":"timestamp","nameLocation":"831:9:0","nodeType":"VariableDeclaration","scope":48,"src":"823:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":42,"name":"uint256","nodeType":"ElementaryTypeName","src":"823:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":45,"mutability":"mutable","name":"notes","nameLocation":"857:5:0","nodeType":"VariableDeclaration","scope":48,"src":"850:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":44,"name":"string","nodeType":"ElementaryTypeName","src":"850:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":47,"mutability":"mutable","name":"updatedBy","nameLocation":"880:9:0","nodeType":"VariableDeclaration","scope":48,"src":"872:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46,"name":"address","nodeType":"ElementaryTypeName","src":"872:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"SupplyChainUpdate","nameLocation":"723:17:0","nodeType":"StructDefinition","scope":1414,"src":"716:180:0","visibility":"public"},{"canonicalName":"CropChain.PriceObservation","id":53,"members":[{"constant":false,"id":50,"mutability":"mutable","name":"price","nameLocation":"944:5:0","nodeType":"VariableDeclaration","scope":53,"src":"936:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":49,"name":"uint256","nodeType":"ElementaryTypeName","src":"936:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":52,"mutability":"mutable","name":"timestamp","nameLocation":"967:9:0","nodeType":"VariableDeclaration","scope":53,"src":"959:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":51,"name":"uint256","nodeType":"ElementaryTypeName","src":"959:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"PriceObservation","nameLocation":"909:16:0","nodeType":"StructDefinition","scope":1414,"src":"902:81:0","visibility":"public"},{"constant":false,"functionSelector":"906ddff1","id":58,"mutability":"mutable","name":"cropBatches","nameLocation":"1081:11:0","nodeType":"VariableDeclaration","scope":1414,"src":"1044:48:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_CropBatch_$34_storage_$","typeString":"mapping(bytes32 => struct CropChain.CropBatch)"},"typeName":{"id":57,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":54,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1052:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"1044:29:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_CropBatch_$34_storage_$","typeString":"mapping(bytes32 => struct CropChain.CropBatch)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":56,"nodeType":"UserDefinedTypeName","pathNode":{"id":55,"name":"CropBatch","nameLocations":["1063:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":34,"src":"1063:9:0"},"referencedDeclaration":34,"src":"1063:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_CropBatch_$34_storage_ptr","typeString":"struct CropChain.CropBatch"}}},"visibility":"public"},{"constant":false,"functionSelector":"aa68b48e","id":64,"mutability":"mutable","name":"batchUpdates","nameLocation":"1145:12:0","nodeType":"VariableDeclaration","scope":1414,"src":"1098:59:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct CropChain.SupplyChainUpdate[])"},"typeName":{"id":63,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":59,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1106:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"1098:39:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct CropChain.SupplyChainUpdate[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":61,"nodeType":"UserDefinedTypeName","pathNode":{"id":60,"name":"SupplyChainUpdate","nameLocations":["1117:17:0"],"nodeType":"IdentifierPath","referencedDeclaration":48,"src":"1117:17:0"},"referencedDeclaration":48,"src":"1117:17:0","typeDescriptions":{"typeIdentifier":"t_struct$_SupplyChainUpdate_$48_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate"}},"id":62,"nodeType":"ArrayTypeName","src":"1117:19:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate[]"}}},"visibility":"public"},{"constant":false,"functionSelector":"99374642","id":69,"mutability":"mutable","name":"roles","nameLocation":"1200:5:0","nodeType":"VariableDeclaration","scope":1414,"src":"1163:42:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_enum$_ActorRole_$19_$","typeString":"mapping(address => enum CropChain.ActorRole)"},"typeName":{"id":68,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":65,"name":"address","nodeType":"ElementaryTypeName","src":"1171:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1163:29:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_enum$_ActorRole_$19_$","typeString":"mapping(address => enum CropChain.ActorRole)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":67,"nodeType":"UserDefinedTypeName","pathNode":{"id":66,"name":"ActorRole","nameLocations":["1182:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":19,"src":"1182:9:0"},"referencedDeclaration":19,"src":"1182:9:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}}},"visibility":"public"},{"constant":false,"functionSelector":"290b17ec","id":72,"mutability":"mutable","name":"allBatchIds","nameLocation":"1229:11:0","nodeType":"VariableDeclaration","scope":1414,"src":"1212:28:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[]"},"typeName":{"baseType":{"id":70,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1212:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":71,"nodeType":"ArrayTypeName","src":"1212:9:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"public"},{"constant":false,"functionSelector":"8da5cb5b","id":74,"mutability":"mutable","name":"owner","nameLocation":"1262:5:0","nodeType":"VariableDeclaration","scope":1414,"src":"1247:20:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73,"name":"address","nodeType":"ElementaryTypeName","src":"1247:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"constant":false,"functionSelector":"32fc2162","id":78,"mutability":"mutable","name":"mandiLiquidity","nameLocation":"1309:14:0","nodeType":"VariableDeclaration","scope":1414,"src":"1274:49:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":77,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":75,"name":"address","nodeType":"ElementaryTypeName","src":"1282:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1274:27:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":76,"name":"uint256","nodeType":"ElementaryTypeName","src":"1293:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"constant":false,"functionSelector":"15770f92","id":80,"mutability":"mutable","name":"totalLiquidity","nameLocation":"1344:14:0","nodeType":"VariableDeclaration","scope":1414,"src":"1329:29:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79,"name":"uint256","nodeType":"ElementaryTypeName","src":"1329:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"id":86,"mutability":"mutable","name":"cropPriceObservations","nameLocation":"1412:21:0","nodeType":"VariableDeclaration","scope":1414,"src":"1365:68:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct CropChain.PriceObservation[])"},"typeName":{"id":85,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":81,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1373:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"1365:38:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct CropChain.PriceObservation[])"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"baseType":{"id":83,"nodeType":"UserDefinedTypeName","pathNode":{"id":82,"name":"PriceObservation","nameLocations":["1384:16:0"],"nodeType":"IdentifierPath","referencedDeclaration":53,"src":"1384:16:0"},"referencedDeclaration":53,"src":"1384:16:0","typeDescriptions":{"typeIdentifier":"t_struct$_PriceObservation_$53_storage_ptr","typeString":"struct CropChain.PriceObservation"}},"id":84,"nodeType":"ArrayTypeName","src":"1384:18:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage_ptr","typeString":"struct CropChain.PriceObservation[]"}}},"visibility":"private"},{"constant":true,"functionSelector":"5fcb2120","id":89,"mutability":"constant","name":"DEFAULT_TWAP_WINDOW","nameLocation":"1463:19:0","nodeType":"VariableDeclaration","scope":1414,"src":"1439:56:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":87,"name":"uint256","nodeType":"ElementaryTypeName","src":"1439:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3330","id":88,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1485:10:0","subdenomination":"minutes","typeDescriptions":{"typeIdentifier":"t_rational_1800_by_1","typeString":"int_const 1800"},"value":"30"},"visibility":"public"},{"anonymous":false,"eventSelector":"1e548d6c3fb449f78f5b7457156dcfb300cbb65d12a4038b334b6bfbdba95738","id":99,"name":"BatchCreated","nameLocation":"1562:12:0","nodeType":"EventDefinition","parameters":{"id":98,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91,"indexed":true,"mutability":"mutable","name":"batchId","nameLocation":"1600:7:0","nodeType":"VariableDeclaration","scope":99,"src":"1584:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":90,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1584:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":93,"indexed":false,"mutability":"mutable","name":"ipfsCID","nameLocation":"1624:7:0","nodeType":"VariableDeclaration","scope":99,"src":"1617:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":92,"name":"string","nodeType":"ElementaryTypeName","src":"1617:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":95,"indexed":false,"mutability":"mutable","name":"quantity","nameLocation":"1649:8:0","nodeType":"VariableDeclaration","scope":99,"src":"1641:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":94,"name":"uint256","nodeType":"ElementaryTypeName","src":"1641:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":97,"indexed":true,"mutability":"mutable","name":"creator","nameLocation":"1683:7:0","nodeType":"VariableDeclaration","scope":99,"src":"1667:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":96,"name":"address","nodeType":"ElementaryTypeName","src":"1667:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1574:122:0"},"src":"1556:141:0"},{"anonymous":false,"eventSelector":"2cefceaa731c274adf2f7bd3b3237d2e06cb4fe59bd62d9ea2055287a132d364","id":112,"name":"BatchUpdated","nameLocation":"1709:12:0","nodeType":"EventDefinition","parameters":{"id":111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":101,"indexed":true,"mutability":"mutable","name":"batchId","nameLocation":"1747:7:0","nodeType":"VariableDeclaration","scope":112,"src":"1731:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":100,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1731:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":104,"indexed":false,"mutability":"mutable","name":"stage","nameLocation":"1770:5:0","nodeType":"VariableDeclaration","scope":112,"src":"1764:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"},"typeName":{"id":103,"nodeType":"UserDefinedTypeName","pathNode":{"id":102,"name":"Stage","nameLocations":["1764:5:0"],"nodeType":"IdentifierPath","referencedDeclaration":12,"src":"1764:5:0"},"referencedDeclaration":12,"src":"1764:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}},"visibility":"internal"},{"constant":false,"id":106,"indexed":false,"mutability":"mutable","name":"actorName","nameLocation":"1792:9:0","nodeType":"VariableDeclaration","scope":112,"src":"1785:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":105,"name":"string","nodeType":"ElementaryTypeName","src":"1785:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":108,"indexed":false,"mutability":"mutable","name":"location","nameLocation":"1818:8:0","nodeType":"VariableDeclaration","scope":112,"src":"1811:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":107,"name":"string","nodeType":"ElementaryTypeName","src":"1811:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":110,"indexed":true,"mutability":"mutable","name":"updatedBy","nameLocation":"1852:9:0","nodeType":"VariableDeclaration","scope":112,"src":"1836:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":109,"name":"address","nodeType":"ElementaryTypeName","src":"1836:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1721:146:0"},"src":"1703:165:0"},{"anonymous":false,"eventSelector":"175deaa679c5cdab1525a1961772f2791ba9122b522490d1625beaf3ba3f6389","id":118,"name":"ActorAuthorized","nameLocation":"1880:15:0","nodeType":"EventDefinition","parameters":{"id":117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":114,"indexed":true,"mutability":"mutable","name":"actor","nameLocation":"1912:5:0","nodeType":"VariableDeclaration","scope":118,"src":"1896:21:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":113,"name":"address","nodeType":"ElementaryTypeName","src":"1896:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":116,"indexed":false,"mutability":"mutable","name":"authorized","nameLocation":"1924:10:0","nodeType":"VariableDeclaration","scope":118,"src":"1919:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":115,"name":"bool","nodeType":"ElementaryTypeName","src":"1919:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1895:40:0"},"src":"1874:62:0"},{"anonymous":false,"eventSelector":"c3f8f61911a1537261f77e2703626e158e299a98e341024ecaa26bbd1d884c64","id":125,"name":"RoleUpdated","nameLocation":"1947:11:0","nodeType":"EventDefinition","parameters":{"id":124,"nodeType":"ParameterList","parameters":[{"constant":false,"id":120,"indexed":true,"mutability":"mutable","name":"actor","nameLocation":"1975:5:0","nodeType":"VariableDeclaration","scope":125,"src":"1959:21:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":119,"name":"address","nodeType":"ElementaryTypeName","src":"1959:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":123,"indexed":false,"mutability":"mutable","name":"role","nameLocation":"1992:4:0","nodeType":"VariableDeclaration","scope":125,"src":"1982:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"},"typeName":{"id":122,"nodeType":"UserDefinedTypeName","pathNode":{"id":121,"name":"ActorRole","nameLocations":["1982:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":19,"src":"1982:9:0"},"referencedDeclaration":19,"src":"1982:9:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"visibility":"internal"}],"src":"1958:39:0"},"src":"1941:57:0"},{"anonymous":false,"eventSelector":"423ae59b8825a6f0d6872201b0102d5bc3ff543cca72ddf16d2e4d698fc9898b","id":131,"name":"BatchRecalled","nameLocation":"2009:13:0","nodeType":"EventDefinition","parameters":{"id":130,"nodeType":"ParameterList","parameters":[{"constant":false,"id":127,"indexed":true,"mutability":"mutable","name":"batchId","nameLocation":"2038:7:0","nodeType":"VariableDeclaration","scope":131,"src":"2023:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":126,"name":"string","nodeType":"ElementaryTypeName","src":"2023:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":129,"indexed":true,"mutability":"mutable","name":"triggeredBy","nameLocation":"2063:11:0","nodeType":"VariableDeclaration","scope":131,"src":"2047:27:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":128,"name":"address","nodeType":"ElementaryTypeName","src":"2047:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2022:53:0"},"src":"2003:73:0"},{"anonymous":false,"eventSelector":"8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0","id":137,"name":"OwnershipTransferred","nameLocation":"2087:20:0","nodeType":"EventDefinition","parameters":{"id":136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":133,"indexed":true,"mutability":"mutable","name":"previousOwner","nameLocation":"2124:13:0","nodeType":"VariableDeclaration","scope":137,"src":"2108:29:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":132,"name":"address","nodeType":"ElementaryTypeName","src":"2108:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":135,"indexed":true,"mutability":"mutable","name":"newOwner","nameLocation":"2155:8:0","nodeType":"VariableDeclaration","scope":137,"src":"2139:24:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":134,"name":"address","nodeType":"ElementaryTypeName","src":"2139:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2107:57:0"},"src":"2081:84:0"},{"anonymous":false,"eventSelector":"e7f645cfca4612e1136cf53cc61a2028d41f30a9bd510c8c467671ee3d4ec83d","id":143,"name":"PauseStateUpdated","nameLocation":"2176:17:0","nodeType":"EventDefinition","parameters":{"id":142,"nodeType":"ParameterList","parameters":[{"constant":false,"id":139,"indexed":true,"mutability":"mutable","name":"by","nameLocation":"2210:2:0","nodeType":"VariableDeclaration","scope":143,"src":"2194:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":138,"name":"address","nodeType":"ElementaryTypeName","src":"2194:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":141,"indexed":false,"mutability":"mutable","name":"paused","nameLocation":"2219:6:0","nodeType":"VariableDeclaration","scope":143,"src":"2214:11:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":140,"name":"bool","nodeType":"ElementaryTypeName","src":"2214:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2193:33:0"},"src":"2170:57:0"},{"anonymous":false,"eventSelector":"7ff07ce9a287649537e4b012e45cf012d90228b12e2b56bb03515a6b5436fcdf","id":149,"name":"LiquidityDeposited","nameLocation":"2239:18:0","nodeType":"EventDefinition","parameters":{"id":148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":145,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"2274:7:0","nodeType":"VariableDeclaration","scope":149,"src":"2258:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":144,"name":"address","nodeType":"ElementaryTypeName","src":"2258:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":147,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2291:6:0","nodeType":"VariableDeclaration","scope":149,"src":"2283:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":146,"name":"uint256","nodeType":"ElementaryTypeName","src":"2283:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2257:41:0"},"src":"2233:66:0"},{"anonymous":false,"eventSelector":"b1cce8684b4ffa8667b4577654e61ee3480d661ee9c27522ac80e211f6bd4d25","id":155,"name":"LiquidityWithdrawn","nameLocation":"2310:18:0","nodeType":"EventDefinition","parameters":{"id":154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":151,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"2345:7:0","nodeType":"VariableDeclaration","scope":155,"src":"2329:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":150,"name":"address","nodeType":"ElementaryTypeName","src":"2329:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":153,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2362:6:0","nodeType":"VariableDeclaration","scope":155,"src":"2354:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":152,"name":"uint256","nodeType":"ElementaryTypeName","src":"2354:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2328:41:0"},"src":"2304:66:0"},{"anonymous":false,"eventSelector":"0a48ce64d777e75fe5538daad7210e5f17aa7af207060a3ca17543550e22a030","id":165,"name":"SpotPriceSubmitted","nameLocation":"2382:18:0","nodeType":"EventDefinition","parameters":{"id":164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":157,"indexed":true,"mutability":"mutable","name":"cropType","nameLocation":"2416:8:0","nodeType":"VariableDeclaration","scope":165,"src":"2401:23:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":156,"name":"string","nodeType":"ElementaryTypeName","src":"2401:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":159,"indexed":false,"mutability":"mutable","name":"price","nameLocation":"2434:5:0","nodeType":"VariableDeclaration","scope":165,"src":"2426:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":158,"name":"uint256","nodeType":"ElementaryTypeName","src":"2426:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":161,"indexed":false,"mutability":"mutable","name":"timestamp","nameLocation":"2449:9:0","nodeType":"VariableDeclaration","scope":165,"src":"2441:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":160,"name":"uint256","nodeType":"ElementaryTypeName","src":"2441:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":163,"indexed":true,"mutability":"mutable","name":"updatedBy","nameLocation":"2476:9:0","nodeType":"VariableDeclaration","scope":165,"src":"2460:25:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":162,"name":"address","nodeType":"ElementaryTypeName","src":"2460:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2400:86:0"},"src":"2376:111:0"},{"body":{"id":176,"nodeType":"Block","src":"2571:70:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":168,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2589:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":169,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2593:6:0","memberName":"sender","nodeType":"MemberAccess","src":"2589:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":170,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"2603:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2589:19:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f6e6c79206f776e6572","id":172,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2610:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_17d9f114efaa93d67eedad749dd7fd16a6895ff93e28b7a30c667a069f2ed42d","typeString":"literal_string \"Only owner\""},"value":"Only owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_17d9f114efaa93d67eedad749dd7fd16a6895ff93e28b7a30c667a069f2ed42d","typeString":"literal_string \"Only owner\""}],"id":167,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2581:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":173,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2581:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":174,"nodeType":"ExpressionStatement","src":"2581:42:0"},{"id":175,"nodeType":"PlaceholderStatement","src":"2633:1:0"}]},"id":177,"name":"onlyOwner","nameLocation":"2559:9:0","nodeType":"ModifierDefinition","parameters":{"id":166,"nodeType":"ParameterList","parameters":[],"src":"2568:2:0"},"src":"2550:91:0","virtual":false,"visibility":"internal"},{"body":{"id":191,"nodeType":"Block","src":"2673:90:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"},"id":186,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":180,"name":"roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69,"src":"2691:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_enum$_ActorRole_$19_$","typeString":"mapping(address => enum CropChain.ActorRole)"}},"id":183,"indexExpression":{"expression":{"id":181,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2697:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":182,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2701:6:0","memberName":"sender","nodeType":"MemberAccess","src":"2697:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2691:17:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":184,"name":"ActorRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19,"src":"2712:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ActorRole_$19_$","typeString":"type(enum CropChain.ActorRole)"}},"id":185,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2722:4:0","memberName":"None","nodeType":"MemberAccess","referencedDeclaration":13,"src":"2712:14:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"src":"2691:35:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e6f7420617574686f72697a6564","id":187,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2728:16:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36","typeString":"literal_string \"Not authorized\""},"value":"Not authorized"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36","typeString":"literal_string \"Not authorized\""}],"id":179,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2683:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":188,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2683:62:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":189,"nodeType":"ExpressionStatement","src":"2683:62:0"},{"id":190,"nodeType":"PlaceholderStatement","src":"2755:1:0"}]},"id":192,"name":"onlyAuthorized","nameLocation":"2656:14:0","nodeType":"ModifierDefinition","parameters":{"id":178,"nodeType":"ParameterList","parameters":[],"src":"2670:2:0"},"src":"2647:116:0","virtual":false,"visibility":"internal"},{"body":{"id":216,"nodeType":"Block","src":"2797:151:0","statements":[{"assignments":[196],"declarations":[{"constant":false,"id":196,"mutability":"mutable","name":"role","nameLocation":"2817:4:0","nodeType":"VariableDeclaration","scope":216,"src":"2807:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"},"typeName":{"id":195,"nodeType":"UserDefinedTypeName","pathNode":{"id":194,"name":"ActorRole","nameLocations":["2807:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":19,"src":"2807:9:0"},"referencedDeclaration":19,"src":"2807:9:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"visibility":"internal"}],"id":201,"initialValue":{"baseExpression":{"id":197,"name":"roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69,"src":"2824:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_enum$_ActorRole_$19_$","typeString":"mapping(address => enum CropChain.ActorRole)"}},"id":200,"indexExpression":{"expression":{"id":198,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2830:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2834:6:0","memberName":"sender","nodeType":"MemberAccess","src":"2830:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2824:17:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"nodeType":"VariableDeclarationStatement","src":"2807:34:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"},"id":206,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":203,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":196,"src":"2859:4:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":204,"name":"ActorRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19,"src":"2867:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ActorRole_$19_$","typeString":"type(enum CropChain.ActorRole)"}},"id":205,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2877:5:0","memberName":"Mandi","nodeType":"MemberAccess","referencedDeclaration":15,"src":"2867:15:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"src":"2859:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"},"id":210,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":207,"name":"role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":196,"src":"2886:4:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":208,"name":"ActorRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19,"src":"2894:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ActorRole_$19_$","typeString":"type(enum CropChain.ActorRole)"}},"id":209,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2904:5:0","memberName":"Admin","nodeType":"MemberAccess","referencedDeclaration":18,"src":"2894:15:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"src":"2886:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2859:50:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d616e64692f41646d696e206f6e6c79","id":212,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2911:18:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_47226bf13fa32a8d7a11b9f8ba5ea922b2db352b2e0bd21f8a5ff59908f8ae4a","typeString":"literal_string \"Mandi/Admin only\""},"value":"Mandi/Admin only"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_47226bf13fa32a8d7a11b9f8ba5ea922b2db352b2e0bd21f8a5ff59908f8ae4a","typeString":"literal_string \"Mandi/Admin only\""}],"id":202,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2851:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":213,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2851:79:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":214,"nodeType":"ExpressionStatement","src":"2851:79:0"},{"id":215,"nodeType":"PlaceholderStatement","src":"2940:1:0"}]},"id":217,"name":"onlyMandiOrAdmin","nameLocation":"2778:16:0","nodeType":"ModifierDefinition","parameters":{"id":193,"nodeType":"ParameterList","parameters":[],"src":"2794:2:0"},"src":"2769:179:0","virtual":false,"visibility":"internal"},{"body":{"id":230,"nodeType":"Block","src":"2993:84:0","statements":[{"expression":{"arguments":[{"expression":{"baseExpression":{"id":222,"name":"cropBatches","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"3011:11:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_CropBatch_$34_storage_$","typeString":"mapping(bytes32 => struct CropChain.CropBatch storage ref)"}},"id":224,"indexExpression":{"id":223,"name":"_batchId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":219,"src":"3023:8:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3011:21:0","typeDescriptions":{"typeIdentifier":"t_struct$_CropBatch_$34_storage","typeString":"struct CropChain.CropBatch storage ref"}},"id":225,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"3033:6:0","memberName":"exists","nodeType":"MemberAccess","referencedDeclaration":31,"src":"3011:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4261746368206e6f7420666f756e64","id":226,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3041:17:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_da72169ad4f66a2268f3d0d6f19f1623cafa7e891cd0021980bf75380555fddd","typeString":"literal_string \"Batch not found\""},"value":"Batch not found"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_da72169ad4f66a2268f3d0d6f19f1623cafa7e891cd0021980bf75380555fddd","typeString":"literal_string \"Batch not found\""}],"id":221,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3003:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":227,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3003:56:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":228,"nodeType":"ExpressionStatement","src":"3003:56:0"},{"id":229,"nodeType":"PlaceholderStatement","src":"3069:1:0"}]},"id":231,"name":"batchExists","nameLocation":"2963:11:0","nodeType":"ModifierDefinition","parameters":{"id":220,"nodeType":"ParameterList","parameters":[{"constant":false,"id":219,"mutability":"mutable","name":"_batchId","nameLocation":"2983:8:0","nodeType":"VariableDeclaration","scope":231,"src":"2975:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":218,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2975:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2974:18:0"},"src":"2954:123:0","virtual":false,"visibility":"internal"},{"body":{"id":247,"nodeType":"Block","src":"3156:80:0","statements":[{"expression":{"id":237,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":234,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"3166:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":235,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3174:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":236,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3178:6:0","memberName":"sender","nodeType":"MemberAccess","src":"3174:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3166:18:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":238,"nodeType":"ExpressionStatement","src":"3166:18:0"},{"expression":{"id":245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":239,"name":"roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69,"src":"3194:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_enum$_ActorRole_$19_$","typeString":"mapping(address => enum CropChain.ActorRole)"}},"id":242,"indexExpression":{"expression":{"id":240,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3200:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":241,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3204:6:0","memberName":"sender","nodeType":"MemberAccess","src":"3200:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3194:17:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":243,"name":"ActorRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19,"src":"3214:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ActorRole_$19_$","typeString":"type(enum CropChain.ActorRole)"}},"id":244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3224:5:0","memberName":"Admin","nodeType":"MemberAccess","referencedDeclaration":18,"src":"3214:15:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"src":"3194:35:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"id":246,"nodeType":"ExpressionStatement","src":"3194:35:0"}]},"id":248,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":232,"nodeType":"ParameterList","parameters":[],"src":"3153:2:0"},"returnParameters":{"id":233,"nodeType":"ParameterList","parameters":[],"src":"3156:0:0"},"scope":1414,"src":"3142:94:0","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":289,"nodeType":"Block","src":"3414:198:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":266,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":261,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":250,"src":"3432:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3449:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":263,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3441:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":262,"name":"address","nodeType":"ElementaryTypeName","src":"3441:7:0","typeDescriptions":{}}},"id":265,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3441:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3432:19:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e76616c69642061646472657373","id":267,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3453:17:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226","typeString":"literal_string \"Invalid address\""},"value":"Invalid address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226","typeString":"literal_string \"Invalid address\""}],"id":260,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3424:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3424:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":269,"nodeType":"ExpressionStatement","src":"3424:47:0"},{"expression":{"id":274,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":270,"name":"roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69,"src":"3482:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_enum$_ActorRole_$19_$","typeString":"mapping(address => enum CropChain.ActorRole)"}},"id":272,"indexExpression":{"id":271,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":250,"src":"3488:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3482:12:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":273,"name":"_role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":253,"src":"3497:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"src":"3482:20:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"id":275,"nodeType":"ExpressionStatement","src":"3482:20:0"},{"eventCall":{"arguments":[{"id":277,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":250,"src":"3530:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":278,"name":"_role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":253,"src":"3537:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}],"id":276,"name":"RoleUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":125,"src":"3518:11:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_enum$_ActorRole_$19_$returns$__$","typeString":"function (address,enum CropChain.ActorRole)"}},"id":279,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3518:25:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":280,"nodeType":"EmitStatement","src":"3513:30:0"},{"eventCall":{"arguments":[{"id":282,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":250,"src":"3574:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"},"id":286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":283,"name":"_role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":253,"src":"3581:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":284,"name":"ActorRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19,"src":"3590:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ActorRole_$19_$","typeString":"type(enum CropChain.ActorRole)"}},"id":285,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3600:4:0","memberName":"None","nodeType":"MemberAccess","referencedDeclaration":13,"src":"3590:14:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"src":"3581:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":281,"name":"ActorAuthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":118,"src":"3558:15:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bool_$returns$__$","typeString":"function (address,bool)"}},"id":287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3558:47:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":288,"nodeType":"EmitStatement","src":"3553:52:0"}]},"functionSelector":"571c3e60","id":290,"implemented":true,"kind":"function","modifiers":[{"id":256,"kind":"modifierInvocation","modifierName":{"id":255,"name":"onlyOwner","nameLocations":["3379:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":177,"src":"3379:9:0"},"nodeType":"ModifierInvocation","src":"3379:9:0"},{"id":258,"kind":"modifierInvocation","modifierName":{"id":257,"name":"nonReentrant","nameLocations":["3397:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":1624,"src":"3397:12:0"},"nodeType":"ModifierInvocation","src":"3397:12:0"}],"name":"setRole","nameLocation":"3314:7:0","nodeType":"FunctionDefinition","parameters":{"id":254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":250,"mutability":"mutable","name":"_user","nameLocation":"3330:5:0","nodeType":"VariableDeclaration","scope":290,"src":"3322:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":249,"name":"address","nodeType":"ElementaryTypeName","src":"3322:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":253,"mutability":"mutable","name":"_role","nameLocation":"3347:5:0","nodeType":"VariableDeclaration","scope":290,"src":"3337:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"},"typeName":{"id":252,"nodeType":"UserDefinedTypeName","pathNode":{"id":251,"name":"ActorRole","nameLocations":["3337:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":19,"src":"3337:9:0"},"referencedDeclaration":19,"src":"3337:9:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"visibility":"internal"}],"src":"3321:32:0"},"returnParameters":{"id":259,"nodeType":"ParameterList","parameters":[],"src":"3414:0:0"},"scope":1414,"src":"3305:307:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":304,"nodeType":"Block","src":"3760:50:0","statements":[{"expression":{"arguments":[{"arguments":[{"id":300,"name":"_batchId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":292,"src":"3793:8:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":299,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3787:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":298,"name":"bytes","nodeType":"ElementaryTypeName","src":"3787:5:0","typeDescriptions":{}}},"id":301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3787:15:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":297,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"3777:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":302,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3777:26:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":296,"id":303,"nodeType":"Return","src":"3770:33:0"}]},"id":305,"implemented":true,"kind":"function","modifiers":[],"name":"_toBatchHash","nameLocation":"3691:12:0","nodeType":"FunctionDefinition","parameters":{"id":293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":292,"mutability":"mutable","name":"_batchId","nameLocation":"3718:8:0","nodeType":"VariableDeclaration","scope":305,"src":"3704:22:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":291,"name":"string","nodeType":"ElementaryTypeName","src":"3704:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3703:24:0"},"returnParameters":{"id":296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":295,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":305,"src":"3751:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":294,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3751:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3750:9:0"},"scope":1414,"src":"3682:128:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":366,"nodeType":"Block","src":"3924:351:0","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"},"id":319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":316,"name":"_stage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":308,"src":"3938:6:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":317,"name":"Stage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12,"src":"3948:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Stage_$12_$","typeString":"type(enum CropChain.Stage)"}},"id":318,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3954:6:0","memberName":"Farmer","nodeType":"MemberAccess","referencedDeclaration":8,"src":"3948:12:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}},"src":"3938:22:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"},"id":323,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":320,"name":"_role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":311,"src":"3964:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":321,"name":"ActorRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19,"src":"3973:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ActorRole_$19_$","typeString":"type(enum CropChain.ActorRole)"}},"id":322,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3983:6:0","memberName":"Farmer","nodeType":"MemberAccess","referencedDeclaration":14,"src":"3973:16:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"src":"3964:25:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"3938:51:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":327,"nodeType":"IfStatement","src":"3934:68:0","trueBody":{"expression":{"hexValue":"74727565","id":325,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3998:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":315,"id":326,"nodeType":"Return","src":"3991:11:0"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"},"id":331,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":328,"name":"_stage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":308,"src":"4016:6:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":329,"name":"Stage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12,"src":"4026:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Stage_$12_$","typeString":"type(enum CropChain.Stage)"}},"id":330,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4032:5:0","memberName":"Mandi","nodeType":"MemberAccess","referencedDeclaration":9,"src":"4026:11:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}},"src":"4016:21:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"},"id":335,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":332,"name":"_role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":311,"src":"4041:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":333,"name":"ActorRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19,"src":"4050:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ActorRole_$19_$","typeString":"type(enum CropChain.ActorRole)"}},"id":334,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4060:5:0","memberName":"Mandi","nodeType":"MemberAccess","referencedDeclaration":15,"src":"4050:15:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"src":"4041:24:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4016:49:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":339,"nodeType":"IfStatement","src":"4012:66:0","trueBody":{"expression":{"hexValue":"74727565","id":337,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4074:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":315,"id":338,"nodeType":"Return","src":"4067:11:0"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"},"id":343,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":340,"name":"_stage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":308,"src":"4092:6:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":341,"name":"Stage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12,"src":"4102:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Stage_$12_$","typeString":"type(enum CropChain.Stage)"}},"id":342,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4108:9:0","memberName":"Transport","nodeType":"MemberAccess","referencedDeclaration":10,"src":"4102:15:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}},"src":"4092:25:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"},"id":347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":344,"name":"_role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":311,"src":"4121:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":345,"name":"ActorRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19,"src":"4130:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ActorRole_$19_$","typeString":"type(enum CropChain.ActorRole)"}},"id":346,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4140:11:0","memberName":"Transporter","nodeType":"MemberAccess","referencedDeclaration":16,"src":"4130:21:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"src":"4121:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4092:59:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":351,"nodeType":"IfStatement","src":"4088:76:0","trueBody":{"expression":{"hexValue":"74727565","id":349,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4160:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":315,"id":350,"nodeType":"Return","src":"4153:11:0"}},{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"},"id":355,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":352,"name":"_stage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":308,"src":"4178:6:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":353,"name":"Stage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12,"src":"4188:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Stage_$12_$","typeString":"type(enum CropChain.Stage)"}},"id":354,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4194:8:0","memberName":"Retailer","nodeType":"MemberAccess","referencedDeclaration":11,"src":"4188:14:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}},"src":"4178:24:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"},"id":359,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":356,"name":"_role","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":311,"src":"4206:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":357,"name":"ActorRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19,"src":"4215:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ActorRole_$19_$","typeString":"type(enum CropChain.ActorRole)"}},"id":358,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4225:8:0","memberName":"Retailer","nodeType":"MemberAccess","referencedDeclaration":17,"src":"4215:18:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"src":"4206:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4178:55:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":363,"nodeType":"IfStatement","src":"4174:72:0","trueBody":{"expression":{"hexValue":"74727565","id":361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4242:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":315,"id":362,"nodeType":"Return","src":"4235:11:0"}},{"expression":{"hexValue":"66616c7365","id":364,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4263:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":315,"id":365,"nodeType":"Return","src":"4256:12:0"}]},"id":367,"implemented":true,"kind":"function","modifiers":[],"name":"_canUpdate","nameLocation":"3825:10:0","nodeType":"FunctionDefinition","parameters":{"id":312,"nodeType":"ParameterList","parameters":[{"constant":false,"id":308,"mutability":"mutable","name":"_stage","nameLocation":"3842:6:0","nodeType":"VariableDeclaration","scope":367,"src":"3836:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"},"typeName":{"id":307,"nodeType":"UserDefinedTypeName","pathNode":{"id":306,"name":"Stage","nameLocations":["3836:5:0"],"nodeType":"IdentifierPath","referencedDeclaration":12,"src":"3836:5:0"},"referencedDeclaration":12,"src":"3836:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}},"visibility":"internal"},{"constant":false,"id":311,"mutability":"mutable","name":"_role","nameLocation":"3860:5:0","nodeType":"VariableDeclaration","scope":367,"src":"3850:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"},"typeName":{"id":310,"nodeType":"UserDefinedTypeName","pathNode":{"id":309,"name":"ActorRole","nameLocations":["3850:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":19,"src":"3850:9:0"},"referencedDeclaration":19,"src":"3850:9:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"visibility":"internal"}],"src":"3835:31:0"},"returnParameters":{"id":315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":314,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":367,"src":"3914:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":313,"name":"bool","nodeType":"ElementaryTypeName","src":"3914:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3913:6:0"},"scope":1414,"src":"3816:459:0","stateMutability":"pure","virtual":false,"visibility":"internal"},{"body":{"id":420,"nodeType":"Block","src":"4395:282:0","statements":[{"assignments":[381],"declarations":[{"constant":false,"id":381,"mutability":"mutable","name":"updates","nameLocation":"4433:7:0","nodeType":"VariableDeclaration","scope":420,"src":"4405:35:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate[]"},"typeName":{"baseType":{"id":379,"nodeType":"UserDefinedTypeName","pathNode":{"id":378,"name":"SupplyChainUpdate","nameLocations":["4405:17:0"],"nodeType":"IdentifierPath","referencedDeclaration":48,"src":"4405:17:0"},"referencedDeclaration":48,"src":"4405:17:0","typeDescriptions":{"typeIdentifier":"t_struct$_SupplyChainUpdate_$48_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate"}},"id":380,"nodeType":"ArrayTypeName","src":"4405:19:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate[]"}},"visibility":"internal"}],"id":385,"initialValue":{"baseExpression":{"id":382,"name":"batchUpdates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64,"src":"4443:12:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct CropChain.SupplyChainUpdate storage ref[] storage ref)"}},"id":384,"indexExpression":{"id":383,"name":"_batchId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":369,"src":"4456:8:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4443:22:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage","typeString":"struct CropChain.SupplyChainUpdate storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4405:60:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":386,"name":"updates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":381,"src":"4480:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate storage ref[] storage pointer"}},"id":387,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4488:6:0","memberName":"length","nodeType":"MemberAccess","src":"4480:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":388,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4498:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"4480:19:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":396,"nodeType":"IfStatement","src":"4476:82:0","trueBody":{"id":395,"nodeType":"Block","src":"4501:57:0","statements":[{"expression":{"commonType":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"},"id":393,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":390,"name":"_newStage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":372,"src":"4522:9:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":391,"name":"Stage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12,"src":"4535:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Stage_$12_$","typeString":"type(enum CropChain.Stage)"}},"id":392,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4541:6:0","memberName":"Farmer","nodeType":"MemberAccess","referencedDeclaration":8,"src":"4535:12:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}},"src":"4522:25:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":376,"id":394,"nodeType":"Return","src":"4515:32:0"}]}},{"assignments":[399],"declarations":[{"constant":false,"id":399,"mutability":"mutable","name":"last","nameLocation":"4574:4:0","nodeType":"VariableDeclaration","scope":420,"src":"4568:10:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"},"typeName":{"id":398,"nodeType":"UserDefinedTypeName","pathNode":{"id":397,"name":"Stage","nameLocations":["4568:5:0"],"nodeType":"IdentifierPath","referencedDeclaration":12,"src":"4568:5:0"},"referencedDeclaration":12,"src":"4568:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}},"visibility":"internal"}],"id":407,"initialValue":{"expression":{"baseExpression":{"id":400,"name":"updates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":381,"src":"4581:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate storage ref[] storage pointer"}},"id":405,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":404,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":401,"name":"updates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":381,"src":"4589:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate storage ref[] storage pointer"}},"id":402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4597:6:0","memberName":"length","nodeType":"MemberAccess","src":"4589:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":403,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4606:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4589:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4581:27:0","typeDescriptions":{"typeIdentifier":"t_struct$_SupplyChainUpdate_$48_storage","typeString":"struct CropChain.SupplyChainUpdate storage ref"}},"id":406,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4609:5:0","memberName":"stage","nodeType":"MemberAccess","referencedDeclaration":37,"src":"4581:33:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}},"nodeType":"VariableDeclarationStatement","src":"4568:46:0"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":418,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":410,"name":"_newStage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":372,"src":"4639:9:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}],"id":409,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4631:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":408,"name":"uint256","nodeType":"ElementaryTypeName","src":"4631:7:0","typeDescriptions":{}}},"id":411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4631:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":414,"name":"last","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":399,"src":"4661:4:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}],"id":413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4653:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":412,"name":"uint256","nodeType":"ElementaryTypeName","src":"4653:7:0","typeDescriptions":{}}},"id":415,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4653:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":416,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4669:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"4653:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4631:39:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":376,"id":419,"nodeType":"Return","src":"4624:46:0"}]},"id":421,"implemented":true,"kind":"function","modifiers":[],"name":"_isNextStage","nameLocation":"4290:12:0","nodeType":"FunctionDefinition","parameters":{"id":373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":369,"mutability":"mutable","name":"_batchId","nameLocation":"4311:8:0","nodeType":"VariableDeclaration","scope":421,"src":"4303:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":368,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4303:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":372,"mutability":"mutable","name":"_newStage","nameLocation":"4327:9:0","nodeType":"VariableDeclaration","scope":421,"src":"4321:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"},"typeName":{"id":371,"nodeType":"UserDefinedTypeName","pathNode":{"id":370,"name":"Stage","nameLocations":["4321:5:0"],"nodeType":"IdentifierPath","referencedDeclaration":12,"src":"4321:5:0"},"referencedDeclaration":12,"src":"4321:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}},"visibility":"internal"}],"src":"4302:35:0"},"returnParameters":{"id":376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":375,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":421,"src":"4385:4:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":374,"name":"bool","nodeType":"ElementaryTypeName","src":"4385:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4384:6:0"},"scope":1414,"src":"4281:396:0","stateMutability":"view","virtual":false,"visibility":"internal"},{"body":{"id":598,"nodeType":"Block","src":"5130:1632:0","statements":[{"assignments":[449],"declarations":[{"constant":false,"id":449,"mutability":"mutable","name":"batchHash","nameLocation":"5148:9:0","nodeType":"VariableDeclaration","scope":598,"src":"5140:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":448,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5140:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":453,"initialValue":{"arguments":[{"id":451,"name":"_batchId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":423,"src":"5173:8:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":450,"name":"_toBatchHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":305,"src":"5160:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (string memory) pure returns (bytes32)"}},"id":452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5160:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"5140:42:0"},{"expression":{"arguments":[{"id":459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"5201:30:0","subExpression":{"expression":{"baseExpression":{"id":455,"name":"cropBatches","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"5202:11:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_CropBatch_$34_storage_$","typeString":"mapping(bytes32 => struct CropChain.CropBatch storage ref)"}},"id":457,"indexExpression":{"id":456,"name":"batchHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":449,"src":"5214:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5202:22:0","typeDescriptions":{"typeIdentifier":"t_struct$_CropBatch_$34_storage","typeString":"struct CropChain.CropBatch storage ref"}},"id":458,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5225:6:0","memberName":"exists","nodeType":"MemberAccess","referencedDeclaration":31,"src":"5202:29:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"426174636820616c726561647920657869737473","id":460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5233:22:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_29b48ae655aa3ee2f7612336d700663183d24df877fd7c5da8ae0435034680f0","typeString":"literal_string \"Batch already exists\""},"value":"Batch already exists"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_29b48ae655aa3ee2f7612336d700663183d24df877fd7c5da8ae0435034680f0","typeString":"literal_string \"Batch already exists\""}],"id":454,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5193:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5193:63:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":462,"nodeType":"ExpressionStatement","src":"5193:63:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":466,"name":"_batchId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":423,"src":"5280:8:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":465,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5274:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":464,"name":"bytes","nodeType":"ElementaryTypeName","src":"5274:5:0","typeDescriptions":{}}},"id":467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5274:15:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5290:6:0","memberName":"length","nodeType":"MemberAccess","src":"5274:22:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5299:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5274:26:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"42617463682049442063616e6e6f7420626520656d707479","id":471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5302:26:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_981f2ffe11689b3b7d7ac1e8cc477cc12f592477f4819e25b64688f4dd38b177","typeString":"literal_string \"Batch ID cannot be empty\""},"value":"Batch ID cannot be empty"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_981f2ffe11689b3b7d7ac1e8cc477cc12f592477f4819e25b64688f4dd38b177","typeString":"literal_string \"Batch ID cannot be empty\""}],"id":463,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5266:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5266:63:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":473,"nodeType":"ExpressionStatement","src":"5266:63:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":481,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":477,"name":"_farmerName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":425,"src":"5353:11:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5347:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":475,"name":"bytes","nodeType":"ElementaryTypeName","src":"5347:5:0","typeDescriptions":{}}},"id":478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5347:18:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":479,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5366:6:0","memberName":"length","nodeType":"MemberAccess","src":"5347:25:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":480,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5375:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5347:29:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4661726d6572206e616d652063616e6e6f7420626520656d707479","id":482,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5378:29:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_45cfc403798a12f528b4df18b8fbca10a33453a1a7a9e4ea48592d76a9c646f1","typeString":"literal_string \"Farmer name cannot be empty\""},"value":"Farmer name cannot be empty"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_45cfc403798a12f528b4df18b8fbca10a33453a1a7a9e4ea48592d76a9c646f1","typeString":"literal_string \"Farmer name cannot be empty\""}],"id":474,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5339:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5339:69:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":484,"nodeType":"ExpressionStatement","src":"5339:69:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":488,"name":"_farmerAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":427,"src":"5432:14:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":487,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5426:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":486,"name":"bytes","nodeType":"ElementaryTypeName","src":"5426:5:0","typeDescriptions":{}}},"id":489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5426:21:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5448:6:0","memberName":"length","nodeType":"MemberAccess","src":"5426:28:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5457:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5426:32:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4661726d657220616464726573732063616e6e6f7420626520656d707479","id":493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5460:32:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_252cb7a172bac3f6ced5e82b4e7e4ae614f888a2d313e753a0adcf25515cc612","typeString":"literal_string \"Farmer address cannot be empty\""},"value":"Farmer address cannot be empty"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_252cb7a172bac3f6ced5e82b4e7e4ae614f888a2d313e753a0adcf25515cc612","typeString":"literal_string \"Farmer address cannot be empty\""}],"id":485,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5418:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5418:75:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":495,"nodeType":"ExpressionStatement","src":"5418:75:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":503,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":499,"name":"_cropType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":429,"src":"5517:9:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":498,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5511:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":497,"name":"bytes","nodeType":"ElementaryTypeName","src":"5511:5:0","typeDescriptions":{}}},"id":500,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5511:16:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":501,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5528:6:0","memberName":"length","nodeType":"MemberAccess","src":"5511:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":502,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5537:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5511:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"43726f7020747970652063616e6e6f7420626520656d707479","id":504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5540:27:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_76df2ccd6b3e6069462d14ca80504c97024ffda893e6beeeecfb45757e65c5f6","typeString":"literal_string \"Crop type cannot be empty\""},"value":"Crop type cannot be empty"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_76df2ccd6b3e6069462d14ca80504c97024ffda893e6beeeecfb45757e65c5f6","typeString":"literal_string \"Crop type cannot be empty\""}],"id":496,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5503:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":505,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5503:65:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":506,"nodeType":"ExpressionStatement","src":"5503:65:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":510,"name":"_harvestDate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":433,"src":"5592:12:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":509,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5586:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":508,"name":"bytes","nodeType":"ElementaryTypeName","src":"5586:5:0","typeDescriptions":{}}},"id":511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5586:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":512,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5606:6:0","memberName":"length","nodeType":"MemberAccess","src":"5586:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":513,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5615:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5586:30:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4861727665737420646174652063616e6e6f7420626520656d707479","id":515,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5618:30:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_ef49152423528776437b09295e6753738a761ef844bbae45657eb2b302cd6b35","typeString":"literal_string \"Harvest date cannot be empty\""},"value":"Harvest date cannot be empty"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ef49152423528776437b09295e6753738a761ef844bbae45657eb2b302cd6b35","typeString":"literal_string \"Harvest date cannot be empty\""}],"id":507,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5578:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5578:71:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":517,"nodeType":"ExpressionStatement","src":"5578:71:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":525,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":521,"name":"_origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":435,"src":"5673:7:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":520,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5667:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":519,"name":"bytes","nodeType":"ElementaryTypeName","src":"5667:5:0","typeDescriptions":{}}},"id":522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5667:14:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":523,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5682:6:0","memberName":"length","nodeType":"MemberAccess","src":"5667:21:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":524,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5691:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5667:25:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f726967696e2063616e6e6f7420626520656d707479","id":526,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5694:24:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_810c256df7e5d41acbd662e3c3b0be249f9bd6cf5f43ceb24d1d9f9faad3dc2a","typeString":"literal_string \"Origin cannot be empty\""},"value":"Origin cannot be empty"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_810c256df7e5d41acbd662e3c3b0be249f9bd6cf5f43ceb24d1d9f9faad3dc2a","typeString":"literal_string \"Origin cannot be empty\""}],"id":518,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5659:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5659:60:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":528,"nodeType":"ExpressionStatement","src":"5659:60:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":532,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":530,"name":"_quantity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":431,"src":"5737:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5749:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5737:13:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5175616e74697479206d7573742062652067726561746572207468616e2030","id":533,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5752:33:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_0256b2f79971b33d79a70471e25342b40a29973a9924f7bf65b61d253cc5e2ad","typeString":"literal_string \"Quantity must be greater than 0\""},"value":"Quantity must be greater than 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0256b2f79971b33d79a70471e25342b40a29973a9924f7bf65b61d253cc5e2ad","typeString":"literal_string \"Quantity must be greater than 0\""}],"id":529,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5729:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5729:57:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":535,"nodeType":"ExpressionStatement","src":"5729:57:0"},{"assignments":[537],"declarations":[{"constant":false,"id":537,"mutability":"mutable","name":"ipfsCID","nameLocation":"5904:7:0","nodeType":"VariableDeclaration","scope":598,"src":"5890:21:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":536,"name":"string","nodeType":"ElementaryTypeName","src":"5890:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"id":539,"initialValue":{"id":538,"name":"_description","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":439,"src":"5914:12:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"nodeType":"VariableDeclarationStatement","src":"5890:36:0"},{"expression":{"id":554,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":540,"name":"cropBatches","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"5937:11:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_CropBatch_$34_storage_$","typeString":"mapping(bytes32 => struct CropChain.CropBatch storage ref)"}},"id":542,"indexExpression":{"id":541,"name":"batchHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":449,"src":"5949:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5937:22:0","typeDescriptions":{"typeIdentifier":"t_struct$_CropBatch_$34_storage","typeString":"struct CropChain.CropBatch storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":544,"name":"batchHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":449,"src":"5995:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":545,"name":"ipfsCID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":537,"src":"6027:7:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":546,"name":"_quantity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":431,"src":"6058:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":547,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"6092:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6098:9:0","memberName":"timestamp","nodeType":"MemberAccess","src":"6092:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":549,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6130:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6134:6:0","memberName":"sender","nodeType":"MemberAccess","src":"6130:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"74727565","id":551,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6162:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},{"hexValue":"66616c7365","id":552,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6192:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":543,"name":"CropBatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":34,"src":"5962:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CropBatch_$34_storage_ptr_$","typeString":"type(struct CropChain.CropBatch storage pointer)"}},"id":553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["5986:7:0","6018:7:0","6048:8:0","6081:9:0","6121:7:0","6154:6:0","6180:10:0"],"names":["batchId","ipfsCID","quantity","createdAt","creator","exists","isRecalled"],"nodeType":"FunctionCall","src":"5962:246:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CropBatch_$34_memory_ptr","typeString":"struct CropChain.CropBatch memory"}},"src":"5937:271:0","typeDescriptions":{"typeIdentifier":"t_struct$_CropBatch_$34_storage","typeString":"struct CropChain.CropBatch storage ref"}},"id":555,"nodeType":"ExpressionStatement","src":"5937:271:0"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":561,"name":"Stage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":12,"src":"6304:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_Stage_$12_$","typeString":"type(enum CropChain.Stage)"}},"id":562,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6310:6:0","memberName":"Farmer","nodeType":"MemberAccess","referencedDeclaration":8,"src":"6304:12:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}},{"id":563,"name":"_farmerName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":425,"src":"6345:11:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":564,"name":"_origin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":435,"src":"6384:7:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":565,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"6420:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6426:9:0","memberName":"timestamp","nodeType":"MemberAccess","src":"6420:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"hexValue":"43726f703a","id":570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6474:7:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_8f5768c0b35d831c84e5fc6fd3ab7119cfd8730024de763aa6075843c559758f","typeString":"literal_string \"Crop:\""},"value":"Crop:"},{"id":571,"name":"_cropType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":429,"src":"6483:9:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"3b20486172766573743a","id":572,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6494:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_af18909f0959c5cf9bc8d471cf99331a51f729dfa2dbfd6adb9e95018e34d33e","typeString":"literal_string \"; Harvest:\""},"value":"; Harvest:"},{"id":573,"name":"_harvestDate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":433,"src":"6508:12:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"3b204661726d6572416464723a","id":574,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6522:15:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_f86b0ef76ea68879519c38b93596c686d665b7a3ae754a0c3a12f8894d70ff31","typeString":"literal_string \"; FarmerAddr:\""},"value":"; FarmerAddr:"},{"id":575,"name":"_farmerAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":427,"src":"6539:14:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"hexValue":"3b20436572743a","id":576,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6555:9:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_791a5de3ff11c5bbe83406d7b1fc01d759d4dbf64786d51bc05408382d1f6b13","typeString":"literal_string \"; Cert:\""},"value":"; Cert:"},{"id":577,"name":"_certifications","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":437,"src":"6566:15:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8f5768c0b35d831c84e5fc6fd3ab7119cfd8730024de763aa6075843c559758f","typeString":"literal_string \"Crop:\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_af18909f0959c5cf9bc8d471cf99331a51f729dfa2dbfd6adb9e95018e34d33e","typeString":"literal_string \"; Harvest:\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_f86b0ef76ea68879519c38b93596c686d665b7a3ae754a0c3a12f8894d70ff31","typeString":"literal_string \"; FarmerAddr:\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_stringliteral_791a5de3ff11c5bbe83406d7b1fc01d759d4dbf64786d51bc05408382d1f6b13","typeString":"literal_string \"; Cert:\""},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"expression":{"id":568,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6460:6:0","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":567,"name":"string","nodeType":"ElementaryTypeName","src":"6460:6:0","typeDescriptions":{}}},"id":569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6467:6:0","memberName":"concat","nodeType":"MemberAccess","src":"6460:13:0","typeDescriptions":{"typeIdentifier":"t_function_stringconcat_pure$__$returns$_t_string_memory_ptr_$","typeString":"function () pure returns (string memory)"}},"id":578,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6460:122:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":579,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6611:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6615:6:0","memberName":"sender","nodeType":"MemberAccess","src":"6611:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":560,"name":"SupplyChainUpdate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48,"src":"6261:17:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_SupplyChainUpdate_$48_storage_ptr_$","typeString":"type(struct CropChain.SupplyChainUpdate storage pointer)"}},"id":581,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["6297:5:0","6334:9:0","6374:8:0","6409:9:0","6453:5:0","6600:9:0"],"names":["stage","actorName","location","timestamp","notes","updatedBy"],"nodeType":"FunctionCall","src":"6261:375:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_SupplyChainUpdate_$48_memory_ptr","typeString":"struct CropChain.SupplyChainUpdate memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_SupplyChainUpdate_$48_memory_ptr","typeString":"struct CropChain.SupplyChainUpdate memory"}],"expression":{"baseExpression":{"id":556,"name":"batchUpdates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64,"src":"6219:12:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct CropChain.SupplyChainUpdate storage ref[] storage ref)"}},"id":558,"indexExpression":{"id":557,"name":"batchHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":449,"src":"6232:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6219:23:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage","typeString":"struct CropChain.SupplyChainUpdate storage ref[] storage ref"}},"id":559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6243:4:0","memberName":"push","nodeType":"MemberAccess","src":"6219:28:0","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_ptr_$_t_struct$_SupplyChainUpdate_$48_storage_$returns$__$attached_to$_t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_ptr_$","typeString":"function (struct CropChain.SupplyChainUpdate storage ref[] storage pointer,struct CropChain.SupplyChainUpdate storage ref)"}},"id":582,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6219:427:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":583,"nodeType":"ExpressionStatement","src":"6219:427:0"},{"expression":{"arguments":[{"id":587,"name":"batchHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":449,"src":"6674:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":584,"name":"allBatchIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"6657:11:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6669:4:0","memberName":"push","nodeType":"MemberAccess","src":"6657:16:0","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_bytes32_$dyn_storage_ptr_$_t_bytes32_$returns$__$attached_to$_t_array$_t_bytes32_$dyn_storage_ptr_$","typeString":"function (bytes32[] storage pointer,bytes32)"}},"id":588,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6657:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":589,"nodeType":"ExpressionStatement","src":"6657:27:0"},{"eventCall":{"arguments":[{"id":591,"name":"batchHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":449,"src":"6713:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":592,"name":"ipfsCID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":537,"src":"6724:7:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":593,"name":"_quantity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":431,"src":"6733:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":594,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"6744:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":595,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6748:6:0","memberName":"sender","nodeType":"MemberAccess","src":"6744:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":590,"name":"BatchCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99,"src":"6700:12:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$_t_address_$returns$__$","typeString":"function (bytes32,string memory,uint256,address)"}},"id":596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6700:55:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":597,"nodeType":"EmitStatement","src":"6695:60:0"}]},"functionSelector":"3d41eda1","id":599,"implemented":true,"kind":"function","modifiers":[{"id":442,"kind":"modifierInvocation","modifierName":{"id":441,"name":"onlyAuthorized","nameLocations":["5088:14:0"],"nodeType":"IdentifierPath","referencedDeclaration":192,"src":"5088:14:0"},"nodeType":"ModifierInvocation","src":"5088:14:0"},{"id":444,"kind":"modifierInvocation","modifierName":{"id":443,"name":"whenNotPaused","nameLocations":["5103:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":1531,"src":"5103:13:0"},"nodeType":"ModifierInvocation","src":"5103:13:0"},{"id":446,"kind":"modifierInvocation","modifierName":{"id":445,"name":"nonReentrant","nameLocations":["5117:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":1624,"src":"5117:12:0"},"nodeType":"ModifierInvocation","src":"5117:12:0"}],"name":"createBatch","nameLocation":"4754:11:0","nodeType":"FunctionDefinition","parameters":{"id":440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":423,"mutability":"mutable","name":"_batchId","nameLocation":"4789:8:0","nodeType":"VariableDeclaration","scope":599,"src":"4775:22:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":422,"name":"string","nodeType":"ElementaryTypeName","src":"4775:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":425,"mutability":"mutable","name":"_farmerName","nameLocation":"4821:11:0","nodeType":"VariableDeclaration","scope":599,"src":"4807:25:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":424,"name":"string","nodeType":"ElementaryTypeName","src":"4807:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":427,"mutability":"mutable","name":"_farmerAddress","nameLocation":"4856:14:0","nodeType":"VariableDeclaration","scope":599,"src":"4842:28:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":426,"name":"string","nodeType":"ElementaryTypeName","src":"4842:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":429,"mutability":"mutable","name":"_cropType","nameLocation":"4894:9:0","nodeType":"VariableDeclaration","scope":599,"src":"4880:23:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":428,"name":"string","nodeType":"ElementaryTypeName","src":"4880:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":431,"mutability":"mutable","name":"_quantity","nameLocation":"4921:9:0","nodeType":"VariableDeclaration","scope":599,"src":"4913:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":430,"name":"uint256","nodeType":"ElementaryTypeName","src":"4913:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":433,"mutability":"mutable","name":"_harvestDate","nameLocation":"4954:12:0","nodeType":"VariableDeclaration","scope":599,"src":"4940:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":432,"name":"string","nodeType":"ElementaryTypeName","src":"4940:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":435,"mutability":"mutable","name":"_origin","nameLocation":"4990:7:0","nodeType":"VariableDeclaration","scope":599,"src":"4976:21:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":434,"name":"string","nodeType":"ElementaryTypeName","src":"4976:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":437,"mutability":"mutable","name":"_certifications","nameLocation":"5021:15:0","nodeType":"VariableDeclaration","scope":599,"src":"5007:29:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":436,"name":"string","nodeType":"ElementaryTypeName","src":"5007:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":439,"mutability":"mutable","name":"_description","nameLocation":"5060:12:0","nodeType":"VariableDeclaration","scope":599,"src":"5046:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":438,"name":"string","nodeType":"ElementaryTypeName","src":"5046:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4765:313:0"},"returnParameters":{"id":447,"nodeType":"ParameterList","parameters":[],"src":"5130:0:0"},"scope":1414,"src":"4745:2017:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":707,"nodeType":"Block","src":"7073:866:0","statements":[{"assignments":[624],"declarations":[{"constant":false,"id":624,"mutability":"mutable","name":"callerRole","nameLocation":"7093:10:0","nodeType":"VariableDeclaration","scope":707,"src":"7083:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"},"typeName":{"id":623,"nodeType":"UserDefinedTypeName","pathNode":{"id":622,"name":"ActorRole","nameLocations":["7083:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":19,"src":"7083:9:0"},"referencedDeclaration":19,"src":"7083:9:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"visibility":"internal"}],"id":629,"initialValue":{"baseExpression":{"id":625,"name":"roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69,"src":"7106:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_enum$_ActorRole_$19_$","typeString":"mapping(address => enum CropChain.ActorRole)"}},"id":628,"indexExpression":{"expression":{"id":626,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7112:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":627,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7116:6:0","memberName":"sender","nodeType":"MemberAccess","src":"7112:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7106:17:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"nodeType":"VariableDeclarationStatement","src":"7083:40:0"},{"expression":{"arguments":[{"id":635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7142:33:0","subExpression":{"expression":{"baseExpression":{"id":631,"name":"cropBatches","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"7143:11:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_CropBatch_$34_storage_$","typeString":"mapping(bytes32 => struct CropChain.CropBatch storage ref)"}},"id":633,"indexExpression":{"id":632,"name":"_batchId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":601,"src":"7155:8:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7143:21:0","typeDescriptions":{"typeIdentifier":"t_struct$_CropBatch_$34_storage","typeString":"struct CropChain.CropBatch storage ref"}},"id":634,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7165:10:0","memberName":"isRecalled","nodeType":"MemberAccess","referencedDeclaration":33,"src":"7143:32:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"426174636820697320726563616c6c6564","id":636,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7177:19:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_80fbdea07b4ab11d5e8f9f94f5a7289787e0001fa0f855eae1f185f72c015830","typeString":"literal_string \"Batch is recalled\""},"value":"Batch is recalled"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_80fbdea07b4ab11d5e8f9f94f5a7289787e0001fa0f855eae1f185f72c015830","typeString":"literal_string \"Batch is recalled\""}],"id":630,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7134:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":637,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7134:63:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":638,"nodeType":"ExpressionStatement","src":"7134:63:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":642,"name":"_actorName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":606,"src":"7221:10:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":641,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7215:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":640,"name":"bytes","nodeType":"ElementaryTypeName","src":"7215:5:0","typeDescriptions":{}}},"id":643,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7215:17:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7233:6:0","memberName":"length","nodeType":"MemberAccess","src":"7215:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":645,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7242:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7215:28:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4163746f722063616e6e6f7420626520656d707479","id":647,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7245:23:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_fa44d436dbe876b1dbd642d3d9a35305a5428d9ec35e142e267c3b41cd98a2fa","typeString":"literal_string \"Actor cannot be empty\""},"value":"Actor cannot be empty"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fa44d436dbe876b1dbd642d3d9a35305a5428d9ec35e142e267c3b41cd98a2fa","typeString":"literal_string \"Actor cannot be empty\""}],"id":639,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7207:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7207:62:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":649,"nodeType":"ExpressionStatement","src":"7207:62:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":653,"name":"_location","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"7293:9:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":652,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7287:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":651,"name":"bytes","nodeType":"ElementaryTypeName","src":"7287:5:0","typeDescriptions":{}}},"id":654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7287:16:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"id":655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7304:6:0","memberName":"length","nodeType":"MemberAccess","src":"7287:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7313:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7287:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4c6f636174696f6e2063616e6e6f7420626520656d707479","id":658,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7316:26:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_de6f6fc78129cdf79b4d965b64fbf03531bcfdd1d0b5e1bcd4e0e8de5507fff6","typeString":"literal_string \"Location cannot be empty\""},"value":"Location cannot be empty"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_de6f6fc78129cdf79b4d965b64fbf03531bcfdd1d0b5e1bcd4e0e8de5507fff6","typeString":"literal_string \"Location cannot be empty\""}],"id":650,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7279:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7279:64:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":660,"nodeType":"ExpressionStatement","src":"7279:64:0"},{"expression":{"arguments":[{"arguments":[{"id":663,"name":"_batchId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":601,"src":"7374:8:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":664,"name":"_stage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":604,"src":"7384:6:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}],"id":662,"name":"_isNextStage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":421,"src":"7361:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_enum$_Stage_$12_$returns$_t_bool_$","typeString":"function (bytes32,enum CropChain.Stage) view returns (bool)"}},"id":665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7361:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e76616c6964207374616765207472616e736974696f6e","id":666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7393:26:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_767e2ea53fc139199379fc937e49b7731ae29e48f66e332570ea39eac372a344","typeString":"literal_string \"Invalid stage transition\""},"value":"Invalid stage transition"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_767e2ea53fc139199379fc937e49b7731ae29e48f66e332570ea39eac372a344","typeString":"literal_string \"Invalid stage transition\""}],"id":661,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7353:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":667,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7353:67:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":668,"nodeType":"ExpressionStatement","src":"7353:67:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"},"id":673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":670,"name":"callerRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":624,"src":"7438:10:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"expression":{"id":671,"name":"ActorRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19,"src":"7452:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ActorRole_$19_$","typeString":"type(enum CropChain.ActorRole)"}},"id":672,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7462:5:0","memberName":"Admin","nodeType":"MemberAccess","referencedDeclaration":18,"src":"7452:15:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"src":"7438:29:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"arguments":[{"id":675,"name":"_stage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":604,"src":"7482:6:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}},{"id":676,"name":"callerRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":624,"src":"7490:10:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"},{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}],"id":674,"name":"_canUpdate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":367,"src":"7471:10:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_enum$_Stage_$12_$_t_enum$_ActorRole_$19_$returns$_t_bool_$","typeString":"function (enum CropChain.Stage,enum CropChain.ActorRole) pure returns (bool)"}},"id":677,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7471:30:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7438:63:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"526f6c652063616e6e6f74207570646174652074686973207374616765","id":679,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7503:31:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_e351eac8ef6275f0329dbcfc313aa1c3eba7ec2652eed0b435157058bdebbd8b","typeString":"literal_string \"Role cannot update this stage\""},"value":"Role cannot update this stage"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e351eac8ef6275f0329dbcfc313aa1c3eba7ec2652eed0b435157058bdebbd8b","typeString":"literal_string \"Role cannot update this stage\""}],"id":669,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7430:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7430:105:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":681,"nodeType":"ExpressionStatement","src":"7430:105:0"},{"expression":{"arguments":[{"arguments":[{"id":687,"name":"_stage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":604,"src":"7630:6:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}},{"id":688,"name":"_actorName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":606,"src":"7665:10:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":689,"name":"_location","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"7703:9:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":690,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"7741:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7747:9:0","memberName":"timestamp","nodeType":"MemberAccess","src":"7741:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":692,"name":"_notes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":610,"src":"7781:6:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":693,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7816:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7820:6:0","memberName":"sender","nodeType":"MemberAccess","src":"7816:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":686,"name":"SupplyChainUpdate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48,"src":"7587:17:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_SupplyChainUpdate_$48_storage_ptr_$","typeString":"type(struct CropChain.SupplyChainUpdate storage pointer)"}},"id":695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["7623:5:0","7654:9:0","7693:8:0","7730:9:0","7774:5:0","7805:9:0"],"names":["stage","actorName","location","timestamp","notes","updatedBy"],"nodeType":"FunctionCall","src":"7587:254:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_SupplyChainUpdate_$48_memory_ptr","typeString":"struct CropChain.SupplyChainUpdate memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_SupplyChainUpdate_$48_memory_ptr","typeString":"struct CropChain.SupplyChainUpdate memory"}],"expression":{"baseExpression":{"id":682,"name":"batchUpdates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64,"src":"7546:12:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct CropChain.SupplyChainUpdate storage ref[] storage ref)"}},"id":684,"indexExpression":{"id":683,"name":"_batchId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":601,"src":"7559:8:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7546:22:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage","typeString":"struct CropChain.SupplyChainUpdate storage ref[] storage ref"}},"id":685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7569:4:0","memberName":"push","nodeType":"MemberAccess","src":"7546:27:0","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_ptr_$_t_struct$_SupplyChainUpdate_$48_storage_$returns$__$attached_to$_t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_ptr_$","typeString":"function (struct CropChain.SupplyChainUpdate storage ref[] storage pointer,struct CropChain.SupplyChainUpdate storage ref)"}},"id":696,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7546:305:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":697,"nodeType":"ExpressionStatement","src":"7546:305:0"},{"eventCall":{"arguments":[{"id":699,"name":"_batchId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":601,"src":"7880:8:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":700,"name":"_stage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":604,"src":"7890:6:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}},{"id":701,"name":"_actorName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":606,"src":"7898:10:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":702,"name":"_location","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":608,"src":"7910:9:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":703,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"7921:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":704,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7925:6:0","memberName":"sender","nodeType":"MemberAccess","src":"7921:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":698,"name":"BatchUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":112,"src":"7867:12:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_enum$_Stage_$12_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (bytes32,enum CropChain.Stage,string memory,string memory,address)"}},"id":705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7867:65:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":706,"nodeType":"EmitStatement","src":"7862:70:0"}]},"functionSelector":"36214a1c","id":708,"implemented":true,"kind":"function","modifiers":[{"id":613,"kind":"modifierInvocation","modifierName":{"id":612,"name":"onlyAuthorized","nameLocations":["7009:14:0"],"nodeType":"IdentifierPath","referencedDeclaration":192,"src":"7009:14:0"},"nodeType":"ModifierInvocation","src":"7009:14:0"},{"id":615,"kind":"modifierInvocation","modifierName":{"id":614,"name":"whenNotPaused","nameLocations":["7024:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":1531,"src":"7024:13:0"},"nodeType":"ModifierInvocation","src":"7024:13:0"},{"id":617,"kind":"modifierInvocation","modifierName":{"id":616,"name":"nonReentrant","nameLocations":["7038:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":1624,"src":"7038:12:0"},"nodeType":"ModifierInvocation","src":"7038:12:0"},{"arguments":[{"id":619,"name":"_batchId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":601,"src":"7063:8:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":620,"kind":"modifierInvocation","modifierName":{"id":618,"name":"batchExists","nameLocations":["7051:11:0"],"nodeType":"IdentifierPath","referencedDeclaration":231,"src":"7051:11:0"},"nodeType":"ModifierInvocation","src":"7051:21:0"}],"name":"updateBatch","nameLocation":"6837:11:0","nodeType":"FunctionDefinition","parameters":{"id":611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":601,"mutability":"mutable","name":"_batchId","nameLocation":"6866:8:0","nodeType":"VariableDeclaration","scope":708,"src":"6858:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":600,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6858:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":604,"mutability":"mutable","name":"_stage","nameLocation":"6890:6:0","nodeType":"VariableDeclaration","scope":708,"src":"6884:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"},"typeName":{"id":603,"nodeType":"UserDefinedTypeName","pathNode":{"id":602,"name":"Stage","nameLocations":["6884:5:0"],"nodeType":"IdentifierPath","referencedDeclaration":12,"src":"6884:5:0"},"referencedDeclaration":12,"src":"6884:5:0","typeDescriptions":{"typeIdentifier":"t_enum$_Stage_$12","typeString":"enum CropChain.Stage"}},"visibility":"internal"},{"constant":false,"id":606,"mutability":"mutable","name":"_actorName","nameLocation":"6920:10:0","nodeType":"VariableDeclaration","scope":708,"src":"6906:24:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":605,"name":"string","nodeType":"ElementaryTypeName","src":"6906:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":608,"mutability":"mutable","name":"_location","nameLocation":"6954:9:0","nodeType":"VariableDeclaration","scope":708,"src":"6940:23:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":607,"name":"string","nodeType":"ElementaryTypeName","src":"6940:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":610,"mutability":"mutable","name":"_notes","nameLocation":"6987:6:0","nodeType":"VariableDeclaration","scope":708,"src":"6973:20:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":609,"name":"string","nodeType":"ElementaryTypeName","src":"6973:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"6848:151:0"},"returnParameters":{"id":621,"nodeType":"ParameterList","parameters":[],"src":"7073:0:0"},"scope":1414,"src":"6828:1111:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":744,"nodeType":"Block","src":"8050:228:0","statements":[{"assignments":[718],"declarations":[{"constant":false,"id":718,"mutability":"mutable","name":"batchHash","nameLocation":"8068:9:0","nodeType":"VariableDeclaration","scope":744,"src":"8060:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":717,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8060:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":722,"initialValue":{"arguments":[{"id":720,"name":"_batchId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":710,"src":"8093:8:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":719,"name":"_toBatchHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":305,"src":"8080:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (string memory) pure returns (bytes32)"}},"id":721,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8080:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"8060:42:0"},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":724,"name":"cropBatches","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"8120:11:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_CropBatch_$34_storage_$","typeString":"mapping(bytes32 => struct CropChain.CropBatch storage ref)"}},"id":726,"indexExpression":{"id":725,"name":"batchHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":718,"src":"8132:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8120:22:0","typeDescriptions":{"typeIdentifier":"t_struct$_CropBatch_$34_storage","typeString":"struct CropChain.CropBatch storage ref"}},"id":727,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"8143:6:0","memberName":"exists","nodeType":"MemberAccess","referencedDeclaration":31,"src":"8120:29:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4261746368206e6f7420666f756e64","id":728,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8151:17:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_da72169ad4f66a2268f3d0d6f19f1623cafa7e891cd0021980bf75380555fddd","typeString":"literal_string \"Batch not found\""},"value":"Batch not found"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_da72169ad4f66a2268f3d0d6f19f1623cafa7e891cd0021980bf75380555fddd","typeString":"literal_string \"Batch not found\""}],"id":723,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8112:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":729,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8112:57:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":730,"nodeType":"ExpressionStatement","src":"8112:57:0"},{"expression":{"id":736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"expression":{"baseExpression":{"id":731,"name":"cropBatches","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"8180:11:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_CropBatch_$34_storage_$","typeString":"mapping(bytes32 => struct CropChain.CropBatch storage ref)"}},"id":733,"indexExpression":{"id":732,"name":"batchHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":718,"src":"8192:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8180:22:0","typeDescriptions":{"typeIdentifier":"t_struct$_CropBatch_$34_storage","typeString":"struct CropChain.CropBatch storage ref"}},"id":734,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberLocation":"8203:10:0","memberName":"isRecalled","nodeType":"MemberAccess","referencedDeclaration":33,"src":"8180:33:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8216:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"8180:40:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":737,"nodeType":"ExpressionStatement","src":"8180:40:0"},{"eventCall":{"arguments":[{"id":739,"name":"_batchId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":710,"src":"8250:8:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"expression":{"id":740,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8260:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":741,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8264:6:0","memberName":"sender","nodeType":"MemberAccess","src":"8260:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_address","typeString":"address"}],"id":738,"name":"BatchRecalled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":131,"src":"8236:13:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (string memory,address)"}},"id":742,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8236:35:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":743,"nodeType":"EmitStatement","src":"8231:40:0"}]},"functionSelector":"52969187","id":745,"implemented":true,"kind":"function","modifiers":[{"id":713,"kind":"modifierInvocation","modifierName":{"id":712,"name":"onlyOwner","nameLocations":["8015:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":177,"src":"8015:9:0"},"nodeType":"ModifierInvocation","src":"8015:9:0"},{"id":715,"kind":"modifierInvocation","modifierName":{"id":714,"name":"nonReentrant","nameLocations":["8033:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":1624,"src":"8033:12:0"},"nodeType":"ModifierInvocation","src":"8033:12:0"}],"name":"recallBatch","nameLocation":"7954:11:0","nodeType":"FunctionDefinition","parameters":{"id":711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":710,"mutability":"mutable","name":"_batchId","nameLocation":"7980:8:0","nodeType":"VariableDeclaration","scope":745,"src":"7966:22:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":709,"name":"string","nodeType":"ElementaryTypeName","src":"7966:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"7965:24:0"},"returnParameters":{"id":716,"nodeType":"ParameterList","parameters":[],"src":"8050:0:0"},"scope":1414,"src":"7945:333:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":784,"nodeType":"Block","src":"8509:205:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":757,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8527:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8531:5:0","memberName":"value","nodeType":"MemberAccess","src":"8527:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":759,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8539:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8527:13:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416d6f756e74206d757374206265203e2030","id":761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8542:20:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_01c242f1c806840acb94ec05d87d4647010419c53a053a581e0026b3f6467dbb","typeString":"literal_string \"Amount must be > 0\""},"value":"Amount must be > 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_01c242f1c806840acb94ec05d87d4647010419c53a053a581e0026b3f6467dbb","typeString":"literal_string \"Amount must be > 0\""}],"id":756,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8519:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8519:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":763,"nodeType":"ExpressionStatement","src":"8519:44:0"},{"expression":{"id":770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":764,"name":"mandiLiquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78,"src":"8574:14:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":767,"indexExpression":{"expression":{"id":765,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8589:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8593:6:0","memberName":"sender","nodeType":"MemberAccess","src":"8589:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8574:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"id":768,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8604:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8608:5:0","memberName":"value","nodeType":"MemberAccess","src":"8604:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8574:39:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":771,"nodeType":"ExpressionStatement","src":"8574:39:0"},{"expression":{"id":775,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":772,"name":"totalLiquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80,"src":"8623:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"expression":{"id":773,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8641:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":774,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8645:5:0","memberName":"value","nodeType":"MemberAccess","src":"8641:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8623:27:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":776,"nodeType":"ExpressionStatement","src":"8623:27:0"},{"eventCall":{"arguments":[{"expression":{"id":778,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8685:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8689:6:0","memberName":"sender","nodeType":"MemberAccess","src":"8685:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":780,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8697:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":781,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8701:5:0","memberName":"value","nodeType":"MemberAccess","src":"8697:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":777,"name":"LiquidityDeposited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":149,"src":"8666:18:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8666:41:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":783,"nodeType":"EmitStatement","src":"8661:46:0"}]},"functionSelector":"ca593c59","id":785,"implemented":true,"kind":"function","modifiers":[{"id":748,"kind":"modifierInvocation","modifierName":{"id":747,"name":"onlyAuthorized","nameLocations":["8422:14:0"],"nodeType":"IdentifierPath","referencedDeclaration":192,"src":"8422:14:0"},"nodeType":"ModifierInvocation","src":"8422:14:0"},{"id":750,"kind":"modifierInvocation","modifierName":{"id":749,"name":"onlyMandiOrAdmin","nameLocations":["8445:16:0"],"nodeType":"IdentifierPath","referencedDeclaration":217,"src":"8445:16:0"},"nodeType":"ModifierInvocation","src":"8445:16:0"},{"id":752,"kind":"modifierInvocation","modifierName":{"id":751,"name":"whenNotPaused","nameLocations":["8470:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":1531,"src":"8470:13:0"},"nodeType":"ModifierInvocation","src":"8470:13:0"},{"id":754,"kind":"modifierInvocation","modifierName":{"id":753,"name":"nonReentrant","nameLocations":["8492:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":1624,"src":"8492:12:0"},"nodeType":"ModifierInvocation","src":"8492:12:0"}],"name":"depositLiquidity","nameLocation":"8362:16:0","nodeType":"FunctionDefinition","parameters":{"id":746,"nodeType":"ParameterList","parameters":[],"src":"8378:2:0"},"returnParameters":{"id":755,"nodeType":"ParameterList","parameters":[],"src":"8509:0:0"},"scope":1414,"src":"8353:361:0","stateMutability":"payable","virtual":false,"visibility":"external"},{"body":{"id":856,"nodeType":"Block","src":"8876:495:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":799,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":787,"src":"8894:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8904:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"8894:11:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416d6f756e74206d757374206265203e2030","id":802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8907:20:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_01c242f1c806840acb94ec05d87d4647010419c53a053a581e0026b3f6467dbb","typeString":"literal_string \"Amount must be > 0\""},"value":"Amount must be > 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_01c242f1c806840acb94ec05d87d4647010419c53a053a581e0026b3f6467dbb","typeString":"literal_string \"Amount must be > 0\""}],"id":798,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8886:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":803,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8886:42:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":804,"nodeType":"ExpressionStatement","src":"8886:42:0"},{"assignments":[806],"declarations":[{"constant":false,"id":806,"mutability":"mutable","name":"balance","nameLocation":"8947:7:0","nodeType":"VariableDeclaration","scope":856,"src":"8939:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":805,"name":"uint256","nodeType":"ElementaryTypeName","src":"8939:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":811,"initialValue":{"baseExpression":{"id":807,"name":"mandiLiquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78,"src":"8957:14:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":810,"indexExpression":{"expression":{"id":808,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8972:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8976:6:0","memberName":"sender","nodeType":"MemberAccess","src":"8972:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8957:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"8939:44:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":813,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":806,"src":"9001:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":814,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":787,"src":"9012:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9001:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e73756666696369656e74206c6971756964697479","id":816,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9021:24:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_36435f17e62e176b853e8c37716e51b74bf692c7f7df8628db24bf070e8367ad","typeString":"literal_string \"Insufficient liquidity\""},"value":"Insufficient liquidity"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_36435f17e62e176b853e8c37716e51b74bf692c7f7df8628db24bf070e8367ad","typeString":"literal_string \"Insufficient liquidity\""}],"id":812,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"8993:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8993:53:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":818,"nodeType":"ExpressionStatement","src":"8993:53:0"},{"expression":{"id":826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":819,"name":"mandiLiquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":78,"src":"9087:14:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":822,"indexExpression":{"expression":{"id":820,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9102:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9106:6:0","memberName":"sender","nodeType":"MemberAccess","src":"9102:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9087:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":825,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":823,"name":"balance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":806,"src":"9116:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":824,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":787,"src":"9126:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9116:17:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9087:46:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":827,"nodeType":"ExpressionStatement","src":"9087:46:0"},{"expression":{"id":830,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":828,"name":"totalLiquidity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":80,"src":"9143:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":829,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":787,"src":"9161:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9143:25:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":831,"nodeType":"ExpressionStatement","src":"9143:25:0"},{"assignments":[833,null],"declarations":[{"constant":false,"id":833,"mutability":"mutable","name":"sent","nameLocation":"9213:4:0","nodeType":"VariableDeclaration","scope":856,"src":"9208:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":832,"name":"bool","nodeType":"ElementaryTypeName","src":"9208:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":844,"initialValue":{"arguments":[{"hexValue":"","id":842,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9264:2:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"arguments":[{"expression":{"id":836,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9231:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9235:6:0","memberName":"sender","nodeType":"MemberAccess","src":"9231:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":835,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9223:8:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":834,"name":"address","nodeType":"ElementaryTypeName","src":"9223:8:0","stateMutability":"payable","typeDescriptions":{}}},"id":838,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9223:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":839,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9243:4:0","memberName":"call","nodeType":"MemberAccess","src":"9223:24:0","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"id":840,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":787,"src":"9255:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"9223:40:0","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":843,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9223:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"9207:60:0"},{"expression":{"arguments":[{"id":846,"name":"sent","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":833,"src":"9285:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5472616e73666572206661696c6564","id":847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9291:17:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_25adaa6d082ce15f901e0d8a3d393e7462ef9edf2e6bc8321fa14d1615b6fc51","typeString":"literal_string \"Transfer failed\""},"value":"Transfer failed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_25adaa6d082ce15f901e0d8a3d393e7462ef9edf2e6bc8321fa14d1615b6fc51","typeString":"literal_string \"Transfer failed\""}],"id":845,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9277:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9277:32:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":849,"nodeType":"ExpressionStatement","src":"9277:32:0"},{"eventCall":{"arguments":[{"expression":{"id":851,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"9344:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9348:6:0","memberName":"sender","nodeType":"MemberAccess","src":"9344:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":853,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":787,"src":"9356:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":850,"name":"LiquidityWithdrawn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":155,"src":"9325:18:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9325:39:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":855,"nodeType":"EmitStatement","src":"9320:44:0"}]},"functionSelector":"0a861f2a","id":857,"implemented":true,"kind":"function","modifiers":[{"id":790,"kind":"modifierInvocation","modifierName":{"id":789,"name":"onlyAuthorized","nameLocations":["8789:14:0"],"nodeType":"IdentifierPath","referencedDeclaration":192,"src":"8789:14:0"},"nodeType":"ModifierInvocation","src":"8789:14:0"},{"id":792,"kind":"modifierInvocation","modifierName":{"id":791,"name":"onlyMandiOrAdmin","nameLocations":["8812:16:0"],"nodeType":"IdentifierPath","referencedDeclaration":217,"src":"8812:16:0"},"nodeType":"ModifierInvocation","src":"8812:16:0"},{"id":794,"kind":"modifierInvocation","modifierName":{"id":793,"name":"whenNotPaused","nameLocations":["8837:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":1531,"src":"8837:13:0"},"nodeType":"ModifierInvocation","src":"8837:13:0"},{"id":796,"kind":"modifierInvocation","modifierName":{"id":795,"name":"nonReentrant","nameLocations":["8859:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":1624,"src":"8859:12:0"},"nodeType":"ModifierInvocation","src":"8859:12:0"}],"name":"withdrawLiquidity","nameLocation":"8729:17:0","nodeType":"FunctionDefinition","parameters":{"id":788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":787,"mutability":"mutable","name":"_amount","nameLocation":"8755:7:0","nodeType":"VariableDeclaration","scope":857,"src":"8747:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":786,"name":"uint256","nodeType":"ElementaryTypeName","src":"8747:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"8746:17:0"},"returnParameters":{"id":797,"nodeType":"ParameterList","parameters":[],"src":"8876:0:0"},"scope":1414,"src":"8720:651:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":919,"nodeType":"Block","src":"9626:400:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":879,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":875,"name":"_cropType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":859,"src":"9650:9:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":874,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9644:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":873,"name":"bytes","nodeType":"ElementaryTypeName","src":"9644:5:0","typeDescriptions":{}}},"id":876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9644:16:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9661:6:0","memberName":"length","nodeType":"MemberAccess","src":"9644:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":878,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9670:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9644:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"43726f7020747970652063616e6e6f7420626520656d707479","id":880,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9673:27:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_76df2ccd6b3e6069462d14ca80504c97024ffda893e6beeeecfb45757e65c5f6","typeString":"literal_string \"Crop type cannot be empty\""},"value":"Crop type cannot be empty"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_76df2ccd6b3e6069462d14ca80504c97024ffda893e6beeeecfb45757e65c5f6","typeString":"literal_string \"Crop type cannot be empty\""}],"id":872,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9636:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9636:65:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":882,"nodeType":"ExpressionStatement","src":"9636:65:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":884,"name":"_price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":861,"src":"9719:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":885,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9728:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"9719:10:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5072696365206d757374206265203e2030","id":887,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9731:19:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_1b6b7ea1ca601eedacaf5021d2f04292cf19df119f1635d866f2b5c9b71440a1","typeString":"literal_string \"Price must be > 0\""},"value":"Price must be > 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1b6b7ea1ca601eedacaf5021d2f04292cf19df119f1635d866f2b5c9b71440a1","typeString":"literal_string \"Price must be > 0\""}],"id":883,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"9711:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":888,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9711:40:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":889,"nodeType":"ExpressionStatement","src":"9711:40:0"},{"assignments":[891],"declarations":[{"constant":false,"id":891,"mutability":"mutable","name":"cropKey","nameLocation":"9770:7:0","nodeType":"VariableDeclaration","scope":919,"src":"9762:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":890,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9762:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":898,"initialValue":{"arguments":[{"arguments":[{"id":895,"name":"_cropType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":859,"src":"9796:9:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":894,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"9790:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":893,"name":"bytes","nodeType":"ElementaryTypeName","src":"9790:5:0","typeDescriptions":{}}},"id":896,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9790:16:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":892,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"9780:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":897,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9780:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"9762:45:0"},{"expression":{"arguments":[{"arguments":[{"id":904,"name":"_price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":861,"src":"9891:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":905,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9910:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9916:9:0","memberName":"timestamp","nodeType":"MemberAccess","src":"9910:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":903,"name":"PriceObservation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"9866:16:0","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PriceObservation_$53_storage_ptr_$","typeString":"type(struct CropChain.PriceObservation storage pointer)"}},"id":907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["9884:5:0","9899:9:0"],"names":["price","timestamp"],"nodeType":"FunctionCall","src":"9866:61:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PriceObservation_$53_memory_ptr","typeString":"struct CropChain.PriceObservation memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_PriceObservation_$53_memory_ptr","typeString":"struct CropChain.PriceObservation memory"}],"expression":{"baseExpression":{"id":899,"name":"cropPriceObservations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86,"src":"9817:21:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct CropChain.PriceObservation storage ref[] storage ref)"}},"id":901,"indexExpression":{"id":900,"name":"cropKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":891,"src":"9839:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9817:30:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage","typeString":"struct CropChain.PriceObservation storage ref[] storage ref"}},"id":902,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9848:4:0","memberName":"push","nodeType":"MemberAccess","src":"9817:35:0","typeDescriptions":{"typeIdentifier":"t_function_arraypush_nonpayable$_t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage_ptr_$_t_struct$_PriceObservation_$53_storage_$returns$__$attached_to$_t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage_ptr_$","typeString":"function (struct CropChain.PriceObservation storage ref[] storage pointer,struct CropChain.PriceObservation storage ref)"}},"id":908,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9817:120:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":909,"nodeType":"ExpressionStatement","src":"9817:120:0"},{"eventCall":{"arguments":[{"id":911,"name":"_cropType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":859,"src":"9972:9:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"id":912,"name":"_price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":861,"src":"9983:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":913,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"9991:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":914,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9997:9:0","memberName":"timestamp","nodeType":"MemberAccess","src":"9991:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":915,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"10008:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10012:6:0","memberName":"sender","nodeType":"MemberAccess","src":"10008:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":910,"name":"SpotPriceSubmitted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165,"src":"9953:18:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (string memory,uint256,uint256,address)"}},"id":917,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9953:66:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":918,"nodeType":"EmitStatement","src":"9948:71:0"}]},"functionSelector":"08ec1ee8","id":920,"implemented":true,"kind":"function","modifiers":[{"id":864,"kind":"modifierInvocation","modifierName":{"id":863,"name":"onlyAuthorized","nameLocations":["9539:14:0"],"nodeType":"IdentifierPath","referencedDeclaration":192,"src":"9539:14:0"},"nodeType":"ModifierInvocation","src":"9539:14:0"},{"id":866,"kind":"modifierInvocation","modifierName":{"id":865,"name":"onlyMandiOrAdmin","nameLocations":["9562:16:0"],"nodeType":"IdentifierPath","referencedDeclaration":217,"src":"9562:16:0"},"nodeType":"ModifierInvocation","src":"9562:16:0"},{"id":868,"kind":"modifierInvocation","modifierName":{"id":867,"name":"whenNotPaused","nameLocations":["9587:13:0"],"nodeType":"IdentifierPath","referencedDeclaration":1531,"src":"9587:13:0"},"nodeType":"ModifierInvocation","src":"9587:13:0"},{"id":870,"kind":"modifierInvocation","modifierName":{"id":869,"name":"nonReentrant","nameLocations":["9609:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":1624,"src":"9609:12:0"},"nodeType":"ModifierInvocation","src":"9609:12:0"}],"name":"submitSpotPrice","nameLocation":"9455:15:0","nodeType":"FunctionDefinition","parameters":{"id":862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":859,"mutability":"mutable","name":"_cropType","nameLocation":"9487:9:0","nodeType":"VariableDeclaration","scope":920,"src":"9471:25:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":858,"name":"string","nodeType":"ElementaryTypeName","src":"9471:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":861,"mutability":"mutable","name":"_price","nameLocation":"9506:6:0","nodeType":"VariableDeclaration","scope":920,"src":"9498:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":860,"name":"uint256","nodeType":"ElementaryTypeName","src":"9498:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9470:43:0"},"returnParameters":{"id":871,"nodeType":"ParameterList","parameters":[],"src":"9626:0:0"},"scope":1414,"src":"9446:580:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":941,"nodeType":"Block","src":"10153:116:0","statements":[{"assignments":[928],"declarations":[{"constant":false,"id":928,"mutability":"mutable","name":"cropKey","nameLocation":"10171:7:0","nodeType":"VariableDeclaration","scope":941,"src":"10163:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":927,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10163:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":935,"initialValue":{"arguments":[{"arguments":[{"id":932,"name":"_cropType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":922,"src":"10197:9:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":931,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10191:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":930,"name":"bytes","nodeType":"ElementaryTypeName","src":"10191:5:0","typeDescriptions":{}}},"id":933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10191:16:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":929,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"10181:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10181:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"10163:45:0"},{"expression":{"expression":{"baseExpression":{"id":936,"name":"cropPriceObservations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86,"src":"10225:21:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct CropChain.PriceObservation storage ref[] storage ref)"}},"id":938,"indexExpression":{"id":937,"name":"cropKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":928,"src":"10247:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10225:30:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage","typeString":"struct CropChain.PriceObservation storage ref[] storage ref"}},"id":939,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10256:6:0","memberName":"length","nodeType":"MemberAccess","src":"10225:37:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":926,"id":940,"nodeType":"Return","src":"10218:44:0"}]},"functionSelector":"e3bd2867","id":942,"implemented":true,"kind":"function","modifiers":[],"name":"getPriceObservationCount","nameLocation":"10041:24:0","nodeType":"FunctionDefinition","parameters":{"id":923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":922,"mutability":"mutable","name":"_cropType","nameLocation":"10082:9:0","nodeType":"VariableDeclaration","scope":942,"src":"10066:25:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":921,"name":"string","nodeType":"ElementaryTypeName","src":"10066:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10065:27:0"},"returnParameters":{"id":926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":925,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":942,"src":"10140:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":924,"name":"uint256","nodeType":"ElementaryTypeName","src":"10140:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10139:9:0"},"scope":1414,"src":"10032:237:0","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":993,"nodeType":"Block","src":"10415:342:0","statements":[{"assignments":[952],"declarations":[{"constant":false,"id":952,"mutability":"mutable","name":"cropKey","nameLocation":"10433:7:0","nodeType":"VariableDeclaration","scope":993,"src":"10425:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":951,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10425:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":959,"initialValue":{"arguments":[{"arguments":[{"id":956,"name":"_cropType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":944,"src":"10459:9:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":955,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10453:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":954,"name":"bytes","nodeType":"ElementaryTypeName","src":"10453:5:0","typeDescriptions":{}}},"id":957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10453:16:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":953,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"10443:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10443:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"10425:45:0"},{"assignments":[964],"declarations":[{"constant":false,"id":964,"mutability":"mutable","name":"observations","nameLocation":"10507:12:0","nodeType":"VariableDeclaration","scope":993,"src":"10480:39:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage_ptr","typeString":"struct CropChain.PriceObservation[]"},"typeName":{"baseType":{"id":962,"nodeType":"UserDefinedTypeName","pathNode":{"id":961,"name":"PriceObservation","nameLocations":["10480:16:0"],"nodeType":"IdentifierPath","referencedDeclaration":53,"src":"10480:16:0"},"referencedDeclaration":53,"src":"10480:16:0","typeDescriptions":{"typeIdentifier":"t_struct$_PriceObservation_$53_storage_ptr","typeString":"struct CropChain.PriceObservation"}},"id":963,"nodeType":"ArrayTypeName","src":"10480:18:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage_ptr","typeString":"struct CropChain.PriceObservation[]"}},"visibility":"internal"}],"id":968,"initialValue":{"baseExpression":{"id":965,"name":"cropPriceObservations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86,"src":"10522:21:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct CropChain.PriceObservation storage ref[] storage ref)"}},"id":967,"indexExpression":{"id":966,"name":"cropKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":952,"src":"10544:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10522:30:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage","typeString":"struct CropChain.PriceObservation storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"10480:72:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":970,"name":"observations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":964,"src":"10570:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage_ptr","typeString":"struct CropChain.PriceObservation storage ref[] storage pointer"}},"id":971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10583:6:0","memberName":"length","nodeType":"MemberAccess","src":"10570:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":972,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10592:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10570:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e6f207072696365206f62736572766174696f6e73","id":974,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"10595:23:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_33e65c68a0e23542ed47484f739b4ff98552fc42d3ba896a57bf56a118ff8c50","typeString":"literal_string \"No price observations\""},"value":"No price observations"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_33e65c68a0e23542ed47484f739b4ff98552fc42d3ba896a57bf56a118ff8c50","typeString":"literal_string \"No price observations\""}],"id":969,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"10562:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10562:57:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":976,"nodeType":"ExpressionStatement","src":"10562:57:0"},{"assignments":[979],"declarations":[{"constant":false,"id":979,"mutability":"mutable","name":"latest","nameLocation":"10655:6:0","nodeType":"VariableDeclaration","scope":993,"src":"10630:31:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_PriceObservation_$53_storage_ptr","typeString":"struct CropChain.PriceObservation"},"typeName":{"id":978,"nodeType":"UserDefinedTypeName","pathNode":{"id":977,"name":"PriceObservation","nameLocations":["10630:16:0"],"nodeType":"IdentifierPath","referencedDeclaration":53,"src":"10630:16:0"},"referencedDeclaration":53,"src":"10630:16:0","typeDescriptions":{"typeIdentifier":"t_struct$_PriceObservation_$53_storage_ptr","typeString":"struct CropChain.PriceObservation"}},"visibility":"internal"}],"id":986,"initialValue":{"baseExpression":{"id":980,"name":"observations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":964,"src":"10664:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage_ptr","typeString":"struct CropChain.PriceObservation storage ref[] storage pointer"}},"id":985,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":984,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":981,"name":"observations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":964,"src":"10677:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage_ptr","typeString":"struct CropChain.PriceObservation storage ref[] storage pointer"}},"id":982,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"10690:6:0","memberName":"length","nodeType":"MemberAccess","src":"10677:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":983,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10699:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"10677:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10664:37:0","typeDescriptions":{"typeIdentifier":"t_struct$_PriceObservation_$53_storage","typeString":"struct CropChain.PriceObservation storage ref"}},"nodeType":"VariableDeclarationStatement","src":"10630:71:0"},{"expression":{"components":[{"expression":{"id":987,"name":"latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":979,"src":"10719:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_PriceObservation_$53_storage_ptr","typeString":"struct CropChain.PriceObservation storage pointer"}},"id":988,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10726:5:0","memberName":"price","nodeType":"MemberAccess","referencedDeclaration":50,"src":"10719:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":989,"name":"latest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":979,"src":"10733:6:0","typeDescriptions":{"typeIdentifier":"t_struct$_PriceObservation_$53_storage_ptr","typeString":"struct CropChain.PriceObservation storage pointer"}},"id":990,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"10740:9:0","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":52,"src":"10733:16:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":991,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10718:32:0","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256)"}},"functionReturnParameters":950,"id":992,"nodeType":"Return","src":"10711:39:0"}]},"functionSelector":"11459ad2","id":994,"implemented":true,"kind":"function","modifiers":[],"name":"getLatestSpotPrice","nameLocation":"10284:18:0","nodeType":"FunctionDefinition","parameters":{"id":945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":944,"mutability":"mutable","name":"_cropType","nameLocation":"10319:9:0","nodeType":"VariableDeclaration","scope":994,"src":"10303:25:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":943,"name":"string","nodeType":"ElementaryTypeName","src":"10303:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10302:27:0"},"returnParameters":{"id":950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":947,"mutability":"mutable","name":"price","nameLocation":"10385:5:0","nodeType":"VariableDeclaration","scope":994,"src":"10377:13:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":946,"name":"uint256","nodeType":"ElementaryTypeName","src":"10377:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":949,"mutability":"mutable","name":"timestamp","nameLocation":"10400:9:0","nodeType":"VariableDeclaration","scope":994,"src":"10392:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":948,"name":"uint256","nodeType":"ElementaryTypeName","src":"10392:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10376:34:0"},"scope":1414,"src":"10275:482:0","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":1153,"nodeType":"Block","src":"10894:1324:0","statements":[{"assignments":[1004],"declarations":[{"constant":false,"id":1004,"mutability":"mutable","name":"cropKey","nameLocation":"10912:7:0","nodeType":"VariableDeclaration","scope":1153,"src":"10904:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1003,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10904:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1011,"initialValue":{"arguments":[{"arguments":[{"id":1008,"name":"_cropType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":996,"src":"10938:9:0","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":1007,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"10932:5:0","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":1006,"name":"bytes","nodeType":"ElementaryTypeName","src":"10932:5:0","typeDescriptions":{}}},"id":1009,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10932:16:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":1005,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"10922:9:0","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"10922:27:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"10904:45:0"},{"assignments":[1016],"declarations":[{"constant":false,"id":1016,"mutability":"mutable","name":"observations","nameLocation":"10986:12:0","nodeType":"VariableDeclaration","scope":1153,"src":"10959:39:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage_ptr","typeString":"struct CropChain.PriceObservation[]"},"typeName":{"baseType":{"id":1014,"nodeType":"UserDefinedTypeName","pathNode":{"id":1013,"name":"PriceObservation","nameLocations":["10959:16:0"],"nodeType":"IdentifierPath","referencedDeclaration":53,"src":"10959:16:0"},"referencedDeclaration":53,"src":"10959:16:0","typeDescriptions":{"typeIdentifier":"t_struct$_PriceObservation_$53_storage_ptr","typeString":"struct CropChain.PriceObservation"}},"id":1015,"nodeType":"ArrayTypeName","src":"10959:18:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage_ptr","typeString":"struct CropChain.PriceObservation[]"}},"visibility":"internal"}],"id":1020,"initialValue":{"baseExpression":{"id":1017,"name":"cropPriceObservations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":86,"src":"11001:21:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct CropChain.PriceObservation storage ref[] storage ref)"}},"id":1019,"indexExpression":{"id":1018,"name":"cropKey","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1004,"src":"11023:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11001:30:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage","typeString":"struct CropChain.PriceObservation storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"10959:72:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1025,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1022,"name":"observations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1016,"src":"11049:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage_ptr","typeString":"struct CropChain.PriceObservation storage ref[] storage pointer"}},"id":1023,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11062:6:0","memberName":"length","nodeType":"MemberAccess","src":"11049:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1024,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11071:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11049:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e6f207072696365206f62736572766174696f6e73","id":1026,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11074:23:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_33e65c68a0e23542ed47484f739b4ff98552fc42d3ba896a57bf56a118ff8c50","typeString":"literal_string \"No price observations\""},"value":"No price observations"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_33e65c68a0e23542ed47484f739b4ff98552fc42d3ba896a57bf56a118ff8c50","typeString":"literal_string \"No price observations\""}],"id":1021,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11041:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1027,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11041:57:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1028,"nodeType":"ExpressionStatement","src":"11041:57:0"},{"assignments":[1030],"declarations":[{"constant":false,"id":1030,"mutability":"mutable","name":"windowSeconds","nameLocation":"11117:13:0","nodeType":"VariableDeclaration","scope":1153,"src":"11109:21:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1029,"name":"uint256","nodeType":"ElementaryTypeName","src":"11109:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1037,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1033,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1031,"name":"_windowSeconds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":998,"src":"11133:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11151:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11133:19:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":1035,"name":"_windowSeconds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":998,"src":"11177:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11133:58:0","trueExpression":{"id":1034,"name":"DEFAULT_TWAP_WINDOW","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89,"src":"11155:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11109:82:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1041,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1039,"name":"windowSeconds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1030,"src":"11209:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1040,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11225:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11209:17:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e76616c69642077696e646f77","id":1042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"11228:16:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_d2f2d38fac74ec1644b7e8e745a95f6a90a3df55c76b9ac70569cffd9e094123","typeString":"literal_string \"Invalid window\""},"value":"Invalid window"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d2f2d38fac74ec1644b7e8e745a95f6a90a3df55c76b9ac70569cffd9e094123","typeString":"literal_string \"Invalid window\""}],"id":1038,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"11201:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"11201:44:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1044,"nodeType":"ExpressionStatement","src":"11201:44:0"},{"assignments":[1046],"declarations":[{"constant":false,"id":1046,"mutability":"mutable","name":"endTime","nameLocation":"11264:7:0","nodeType":"VariableDeclaration","scope":1153,"src":"11256:15:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1045,"name":"uint256","nodeType":"ElementaryTypeName","src":"11256:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1049,"initialValue":{"expression":{"id":1047,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"11274:5:0","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":1048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11280:9:0","memberName":"timestamp","nodeType":"MemberAccess","src":"11274:15:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11256:33:0"},{"assignments":[1051],"declarations":[{"constant":false,"id":1051,"mutability":"mutable","name":"startTime","nameLocation":"11307:9:0","nodeType":"VariableDeclaration","scope":1153,"src":"11299:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1050,"name":"uint256","nodeType":"ElementaryTypeName","src":"11299:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1055,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1052,"name":"endTime","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"11319:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":1053,"name":"windowSeconds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1030,"src":"11329:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11319:23:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11299:43:0"},{"assignments":[1057],"declarations":[{"constant":false,"id":1057,"mutability":"mutable","name":"weightedSum","nameLocation":"11361:11:0","nodeType":"VariableDeclaration","scope":1153,"src":"11353:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1056,"name":"uint256","nodeType":"ElementaryTypeName","src":"11353:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1059,"initialValue":{"hexValue":"30","id":1058,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11375:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11353:23:0"},{"assignments":[1061],"declarations":[{"constant":false,"id":1061,"mutability":"mutable","name":"weightedTime","nameLocation":"11394:12:0","nodeType":"VariableDeclaration","scope":1153,"src":"11386:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1060,"name":"uint256","nodeType":"ElementaryTypeName","src":"11386:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1063,"initialValue":{"hexValue":"30","id":1062,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11409:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"11386:24:0"},{"assignments":[1065],"declarations":[{"constant":false,"id":1065,"mutability":"mutable","name":"cursorTime","nameLocation":"11428:10:0","nodeType":"VariableDeclaration","scope":1153,"src":"11420:18:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1064,"name":"uint256","nodeType":"ElementaryTypeName","src":"11420:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1067,"initialValue":{"id":1066,"name":"endTime","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"11441:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11420:28:0"},{"body":{"id":1140,"nodeType":"Block","src":"11509:595:0","statements":[{"assignments":[1081],"declarations":[{"constant":false,"id":1081,"mutability":"mutable","name":"obs","nameLocation":"11548:3:0","nodeType":"VariableDeclaration","scope":1140,"src":"11523:28:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_PriceObservation_$53_storage_ptr","typeString":"struct CropChain.PriceObservation"},"typeName":{"id":1080,"nodeType":"UserDefinedTypeName","pathNode":{"id":1079,"name":"PriceObservation","nameLocations":["11523:16:0"],"nodeType":"IdentifierPath","referencedDeclaration":53,"src":"11523:16:0"},"referencedDeclaration":53,"src":"11523:16:0","typeDescriptions":{"typeIdentifier":"t_struct$_PriceObservation_$53_storage_ptr","typeString":"struct CropChain.PriceObservation"}},"visibility":"internal"}],"id":1087,"initialValue":{"baseExpression":{"id":1082,"name":"observations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1016,"src":"11554:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage_ptr","typeString":"struct CropChain.PriceObservation storage ref[] storage pointer"}},"id":1086,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1083,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1069,"src":"11567:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":1084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11571:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"11567:5:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11554:19:0","typeDescriptions":{"typeIdentifier":"t_struct$_PriceObservation_$53_storage","typeString":"struct CropChain.PriceObservation storage ref"}},"nodeType":"VariableDeclarationStatement","src":"11523:50:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1091,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1088,"name":"obs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1081,"src":"11592:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_PriceObservation_$53_storage_ptr","typeString":"struct CropChain.PriceObservation storage pointer"}},"id":1089,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11596:9:0","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":52,"src":"11592:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1090,"name":"cursorTime","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1065,"src":"11609:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11592:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1094,"nodeType":"IfStatement","src":"11588:74:0","trueBody":{"id":1093,"nodeType":"Block","src":"11621:41:0","statements":[{"id":1092,"nodeType":"Continue","src":"11639:8:0"}]}},{"assignments":[1096],"declarations":[{"constant":false,"id":1096,"mutability":"mutable","name":"segmentStart","nameLocation":"11684:12:0","nodeType":"VariableDeclaration","scope":1140,"src":"11676:20:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1095,"name":"uint256","nodeType":"ElementaryTypeName","src":"11676:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1105,"initialValue":{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1100,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1097,"name":"obs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1081,"src":"11699:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_PriceObservation_$53_storage_ptr","typeString":"struct CropChain.PriceObservation storage pointer"}},"id":1098,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11703:9:0","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":52,"src":"11699:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":1099,"name":"startTime","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1051,"src":"11715:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11699:25:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"id":1103,"name":"startTime","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1051,"src":"11743:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"11699:53:0","trueExpression":{"expression":{"id":1101,"name":"obs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1081,"src":"11727:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_PriceObservation_$53_storage_ptr","typeString":"struct CropChain.PriceObservation storage pointer"}},"id":1102,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11731:9:0","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":52,"src":"11727:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11676:76:0"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1108,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1106,"name":"cursorTime","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1065,"src":"11770:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"id":1107,"name":"segmentStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1096,"src":"11783:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11770:25:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1127,"nodeType":"IfStatement","src":"11766:203:0","trueBody":{"id":1126,"nodeType":"Block","src":"11797:172:0","statements":[{"assignments":[1110],"declarations":[{"constant":false,"id":1110,"mutability":"mutable","name":"duration","nameLocation":"11823:8:0","nodeType":"VariableDeclaration","scope":1126,"src":"11815:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1109,"name":"uint256","nodeType":"ElementaryTypeName","src":"11815:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1114,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1111,"name":"cursorTime","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1065,"src":"11834:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":1112,"name":"segmentStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1096,"src":"11847:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11834:25:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11815:44:0"},{"expression":{"id":1120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1115,"name":"weightedSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1057,"src":"11877:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1116,"name":"obs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1081,"src":"11892:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_PriceObservation_$53_storage_ptr","typeString":"struct CropChain.PriceObservation storage pointer"}},"id":1117,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11896:5:0","memberName":"price","nodeType":"MemberAccess","referencedDeclaration":50,"src":"11892:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":1118,"name":"duration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1110,"src":"11904:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11892:20:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11877:35:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1121,"nodeType":"ExpressionStatement","src":"11877:35:0"},{"expression":{"id":1124,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1122,"name":"weightedTime","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1061,"src":"11930:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":1123,"name":"duration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1110,"src":"11946:8:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11930:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1125,"nodeType":"ExpressionStatement","src":"11930:24:0"}]}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1131,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1128,"name":"obs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1081,"src":"11987:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_PriceObservation_$53_storage_ptr","typeString":"struct CropChain.PriceObservation storage pointer"}},"id":1129,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"11991:9:0","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":52,"src":"11987:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"id":1130,"name":"startTime","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1051,"src":"12004:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11987:26:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1134,"nodeType":"IfStatement","src":"11983:70:0","trueBody":{"id":1133,"nodeType":"Block","src":"12015:38:0","statements":[{"id":1132,"nodeType":"Break","src":"12033:5:0"}]}},{"expression":{"id":1138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1135,"name":"cursorTime","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1065,"src":"12067:10:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":1136,"name":"obs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1081,"src":"12080:3:0","typeDescriptions":{"typeIdentifier":"t_struct$_PriceObservation_$53_storage_ptr","typeString":"struct CropChain.PriceObservation storage pointer"}},"id":1137,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12084:9:0","memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":52,"src":"12080:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12067:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1139,"nodeType":"ExpressionStatement","src":"12067:26:0"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1073,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1069,"src":"11497:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1074,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11501:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11497:5:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1141,"initializationExpression":{"assignments":[1069],"declarations":[{"constant":false,"id":1069,"mutability":"mutable","name":"i","nameLocation":"11472:1:0","nodeType":"VariableDeclaration","scope":1141,"src":"11464:9:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1068,"name":"uint256","nodeType":"ElementaryTypeName","src":"11464:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1072,"initialValue":{"expression":{"id":1070,"name":"observations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1016,"src":"11476:12:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PriceObservation_$53_storage_$dyn_storage_ptr","typeString":"struct CropChain.PriceObservation storage ref[] storage pointer"}},"id":1071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"11489:6:0","memberName":"length","nodeType":"MemberAccess","src":"11476:19:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11464:31:0"},"loopExpression":{"expression":{"id":1077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"--","prefix":false,"src":"11504:3:0","subExpression":{"id":1076,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1069,"src":"11504:1:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1078,"nodeType":"ExpressionStatement","src":"11504:3:0"},"nodeType":"ForStatement","src":"11459:645:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1145,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1143,"name":"weightedTime","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1061,"src":"12122:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12137:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12122:16:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e73756666696369656e74206f62736572766174696f6e73","id":1146,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12140:27:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_006908ac2e31e70e19cca8192e8298f9fb3fb6c497357599ad70cd2f453e787b","typeString":"literal_string \"Insufficient observations\""},"value":"Insufficient observations"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_006908ac2e31e70e19cca8192e8298f9fb3fb6c497357599ad70cd2f453e787b","typeString":"literal_string \"Insufficient observations\""}],"id":1142,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12114:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1147,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12114:54:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1148,"nodeType":"ExpressionStatement","src":"12114:54:0"},{"expression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1149,"name":"weightedSum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1057,"src":"12185:11:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":1150,"name":"weightedTime","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1061,"src":"12199:12:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12185:26:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1002,"id":1152,"nodeType":"Return","src":"12178:33:0"}]},"functionSelector":"b0a62957","id":1154,"implemented":true,"kind":"function","modifiers":[],"name":"getTwapPrice","nameLocation":"10772:12:0","nodeType":"FunctionDefinition","parameters":{"id":999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":996,"mutability":"mutable","name":"_cropType","nameLocation":"10801:9:0","nodeType":"VariableDeclaration","scope":1154,"src":"10785:25:0","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":995,"name":"string","nodeType":"ElementaryTypeName","src":"10785:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":998,"mutability":"mutable","name":"_windowSeconds","nameLocation":"10820:14:0","nodeType":"VariableDeclaration","scope":1154,"src":"10812:22:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":997,"name":"uint256","nodeType":"ElementaryTypeName","src":"10812:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10784:51:0"},"returnParameters":{"id":1002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1001,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1154,"src":"10881:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1000,"name":"uint256","nodeType":"ElementaryTypeName","src":"10881:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"10880:9:0"},"scope":1414,"src":"10763:1455:0","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":1180,"nodeType":"Block","src":"12388:165:0","statements":[{"assignments":[1163],"declarations":[{"constant":false,"id":1163,"mutability":"mutable","name":"batchHash","nameLocation":"12406:9:0","nodeType":"VariableDeclaration","scope":1180,"src":"12398:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1162,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12398:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1167,"initialValue":{"arguments":[{"id":1165,"name":"_batchId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1156,"src":"12431:8:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1164,"name":"_toBatchHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":305,"src":"12418:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (string memory) pure returns (bytes32)"}},"id":1166,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12418:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"12398:42:0"},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":1169,"name":"cropBatches","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"12458:11:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_CropBatch_$34_storage_$","typeString":"mapping(bytes32 => struct CropChain.CropBatch storage ref)"}},"id":1171,"indexExpression":{"id":1170,"name":"batchHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1163,"src":"12470:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12458:22:0","typeDescriptions":{"typeIdentifier":"t_struct$_CropBatch_$34_storage","typeString":"struct CropChain.CropBatch storage ref"}},"id":1172,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12481:6:0","memberName":"exists","nodeType":"MemberAccess","referencedDeclaration":31,"src":"12458:29:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4261746368206e6f7420666f756e64","id":1173,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12489:17:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_da72169ad4f66a2268f3d0d6f19f1623cafa7e891cd0021980bf75380555fddd","typeString":"literal_string \"Batch not found\""},"value":"Batch not found"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_da72169ad4f66a2268f3d0d6f19f1623cafa7e891cd0021980bf75380555fddd","typeString":"literal_string \"Batch not found\""}],"id":1168,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12450:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1174,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12450:57:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1175,"nodeType":"ExpressionStatement","src":"12450:57:0"},{"expression":{"baseExpression":{"id":1176,"name":"cropBatches","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"12524:11:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_CropBatch_$34_storage_$","typeString":"mapping(bytes32 => struct CropChain.CropBatch storage ref)"}},"id":1178,"indexExpression":{"id":1177,"name":"batchHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1163,"src":"12536:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12524:22:0","typeDescriptions":{"typeIdentifier":"t_struct$_CropBatch_$34_storage","typeString":"struct CropChain.CropBatch storage ref"}},"functionReturnParameters":1161,"id":1179,"nodeType":"Return","src":"12517:29:0"}]},"functionSelector":"f9ca4274","id":1181,"implemented":true,"kind":"function","modifiers":[],"name":"getBatch","nameLocation":"12286:8:0","nodeType":"FunctionDefinition","parameters":{"id":1157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1156,"mutability":"mutable","name":"_batchId","nameLocation":"12309:8:0","nodeType":"VariableDeclaration","scope":1181,"src":"12295:22:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1155,"name":"string","nodeType":"ElementaryTypeName","src":"12295:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12294:24:0"},"returnParameters":{"id":1161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1160,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1181,"src":"12366:16:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_CropBatch_$34_memory_ptr","typeString":"struct CropChain.CropBatch"},"typeName":{"id":1159,"nodeType":"UserDefinedTypeName","pathNode":{"id":1158,"name":"CropBatch","nameLocations":["12366:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":34,"src":"12366:9:0"},"referencedDeclaration":34,"src":"12366:9:0","typeDescriptions":{"typeIdentifier":"t_struct$_CropBatch_$34_storage_ptr","typeString":"struct CropChain.CropBatch"}},"visibility":"internal"}],"src":"12365:18:0"},"scope":1414,"src":"12277:276:0","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":1197,"nodeType":"Block","src":"12711:46:0","statements":[{"expression":{"baseExpression":{"id":1193,"name":"batchUpdates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64,"src":"12728:12:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct CropChain.SupplyChainUpdate storage ref[] storage ref)"}},"id":1195,"indexExpression":{"id":1194,"name":"_batchId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1183,"src":"12741:8:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12728:22:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage","typeString":"struct CropChain.SupplyChainUpdate storage ref[] storage ref"}},"functionReturnParameters":1192,"id":1196,"nodeType":"Return","src":"12721:29:0"}]},"functionSelector":"a9437275","id":1198,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1186,"name":"_batchId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1183,"src":"12652:8:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1187,"kind":"modifierInvocation","modifierName":{"id":1185,"name":"batchExists","nameLocations":["12640:11:0"],"nodeType":"IdentifierPath","referencedDeclaration":231,"src":"12640:11:0"},"nodeType":"ModifierInvocation","src":"12640:21:0"}],"name":"getBatchUpdates","nameLocation":"12568:15:0","nodeType":"FunctionDefinition","parameters":{"id":1184,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1183,"mutability":"mutable","name":"_batchId","nameLocation":"12592:8:0","nodeType":"VariableDeclaration","scope":1198,"src":"12584:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1182,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12584:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"12583:18:0"},"returnParameters":{"id":1192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1191,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1198,"src":"12679:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_memory_ptr_$dyn_memory_ptr","typeString":"struct CropChain.SupplyChainUpdate[]"},"typeName":{"baseType":{"id":1189,"nodeType":"UserDefinedTypeName","pathNode":{"id":1188,"name":"SupplyChainUpdate","nameLocations":["12679:17:0"],"nodeType":"IdentifierPath","referencedDeclaration":48,"src":"12679:17:0"},"referencedDeclaration":48,"src":"12679:17:0","typeDescriptions":{"typeIdentifier":"t_struct$_SupplyChainUpdate_$48_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate"}},"id":1190,"nodeType":"ArrayTypeName","src":"12679:19:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate[]"}},"visibility":"internal"}],"src":"12678:28:0"},"scope":1414,"src":"12559:198:0","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":1225,"nodeType":"Block","src":"12895:166:0","statements":[{"assignments":[1208],"declarations":[{"constant":false,"id":1208,"mutability":"mutable","name":"batchHash","nameLocation":"12913:9:0","nodeType":"VariableDeclaration","scope":1225,"src":"12905:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1207,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12905:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1212,"initialValue":{"arguments":[{"id":1210,"name":"_batchId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1200,"src":"12938:8:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1209,"name":"_toBatchHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":305,"src":"12925:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (string memory) pure returns (bytes32)"}},"id":1211,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12925:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"12905:42:0"},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":1214,"name":"cropBatches","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"12965:11:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_CropBatch_$34_storage_$","typeString":"mapping(bytes32 => struct CropChain.CropBatch storage ref)"}},"id":1216,"indexExpression":{"id":1215,"name":"batchHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"12977:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12965:22:0","typeDescriptions":{"typeIdentifier":"t_struct$_CropBatch_$34_storage","typeString":"struct CropChain.CropBatch storage ref"}},"id":1217,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"12988:6:0","memberName":"exists","nodeType":"MemberAccess","referencedDeclaration":31,"src":"12965:29:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4261746368206e6f7420666f756e64","id":1218,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"12996:17:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_da72169ad4f66a2268f3d0d6f19f1623cafa7e891cd0021980bf75380555fddd","typeString":"literal_string \"Batch not found\""},"value":"Batch not found"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_da72169ad4f66a2268f3d0d6f19f1623cafa7e891cd0021980bf75380555fddd","typeString":"literal_string \"Batch not found\""}],"id":1213,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"12957:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1219,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"12957:57:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1220,"nodeType":"ExpressionStatement","src":"12957:57:0"},{"expression":{"baseExpression":{"id":1221,"name":"batchUpdates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64,"src":"13031:12:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct CropChain.SupplyChainUpdate storage ref[] storage ref)"}},"id":1223,"indexExpression":{"id":1222,"name":"batchHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1208,"src":"13044:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13031:23:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage","typeString":"struct CropChain.SupplyChainUpdate storage ref[] storage ref"}},"functionReturnParameters":1206,"id":1224,"nodeType":"Return","src":"13024:30:0"}]},"functionSelector":"716da295","id":1226,"implemented":true,"kind":"function","modifiers":[],"name":"getBatchUpdatesById","nameLocation":"12772:19:0","nodeType":"FunctionDefinition","parameters":{"id":1201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1200,"mutability":"mutable","name":"_batchId","nameLocation":"12806:8:0","nodeType":"VariableDeclaration","scope":1226,"src":"12792:22:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1199,"name":"string","nodeType":"ElementaryTypeName","src":"12792:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"12791:24:0"},"returnParameters":{"id":1206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1205,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1226,"src":"12863:26:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_memory_ptr_$dyn_memory_ptr","typeString":"struct CropChain.SupplyChainUpdate[]"},"typeName":{"baseType":{"id":1203,"nodeType":"UserDefinedTypeName","pathNode":{"id":1202,"name":"SupplyChainUpdate","nameLocations":["12863:17:0"],"nodeType":"IdentifierPath","referencedDeclaration":48,"src":"12863:17:0"},"referencedDeclaration":48,"src":"12863:17:0","typeDescriptions":{"typeIdentifier":"t_struct$_SupplyChainUpdate_$48_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate"}},"id":1204,"nodeType":"ArrayTypeName","src":"12863:19:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate[]"}},"visibility":"internal"}],"src":"12862:28:0"},"scope":1414,"src":"12763:298:0","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":1261,"nodeType":"Block","src":"13217:172:0","statements":[{"assignments":[1241],"declarations":[{"constant":false,"id":1241,"mutability":"mutable","name":"updates","nameLocation":"13255:7:0","nodeType":"VariableDeclaration","scope":1261,"src":"13227:35:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate[]"},"typeName":{"baseType":{"id":1239,"nodeType":"UserDefinedTypeName","pathNode":{"id":1238,"name":"SupplyChainUpdate","nameLocations":["13227:17:0"],"nodeType":"IdentifierPath","referencedDeclaration":48,"src":"13227:17:0"},"referencedDeclaration":48,"src":"13227:17:0","typeDescriptions":{"typeIdentifier":"t_struct$_SupplyChainUpdate_$48_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate"}},"id":1240,"nodeType":"ArrayTypeName","src":"13227:19:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate[]"}},"visibility":"internal"}],"id":1245,"initialValue":{"baseExpression":{"id":1242,"name":"batchUpdates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64,"src":"13265:12:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct CropChain.SupplyChainUpdate storage ref[] storage ref)"}},"id":1244,"indexExpression":{"id":1243,"name":"_batchId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1228,"src":"13278:8:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13265:22:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage","typeString":"struct CropChain.SupplyChainUpdate storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13227:60:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1250,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1247,"name":"updates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1241,"src":"13305:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate storage ref[] storage pointer"}},"id":1248,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13313:6:0","memberName":"length","nodeType":"MemberAccess","src":"13305:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13322:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13305:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e6f2075706461746573","id":1251,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13325:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e7676fc822bc9ef2dfbd8c8fd79eba63804a5a8cfafeeca5f62de50f5afcffa","typeString":"literal_string \"No updates\""},"value":"No updates"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3e7676fc822bc9ef2dfbd8c8fd79eba63804a5a8cfafeeca5f62de50f5afcffa","typeString":"literal_string \"No updates\""}],"id":1246,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13297:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13297:41:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1253,"nodeType":"ExpressionStatement","src":"13297:41:0"},{"expression":{"baseExpression":{"id":1254,"name":"updates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1241,"src":"13355:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate storage ref[] storage pointer"}},"id":1259,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1258,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1255,"name":"updates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1241,"src":"13363:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate storage ref[] storage pointer"}},"id":1256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13371:6:0","memberName":"length","nodeType":"MemberAccess","src":"13363:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":1257,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13380:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13363:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13355:27:0","typeDescriptions":{"typeIdentifier":"t_struct$_SupplyChainUpdate_$48_storage","typeString":"struct CropChain.SupplyChainUpdate storage ref"}},"functionReturnParameters":1236,"id":1260,"nodeType":"Return","src":"13348:34:0"}]},"functionSelector":"ab005011","id":1262,"implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1231,"name":"_batchId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1228,"src":"13160:8:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1232,"kind":"modifierInvocation","modifierName":{"id":1230,"name":"batchExists","nameLocations":["13148:11:0"],"nodeType":"IdentifierPath","referencedDeclaration":231,"src":"13148:11:0"},"nodeType":"ModifierInvocation","src":"13148:21:0"}],"name":"getLatestUpdate","nameLocation":"13076:15:0","nodeType":"FunctionDefinition","parameters":{"id":1229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1228,"mutability":"mutable","name":"_batchId","nameLocation":"13100:8:0","nodeType":"VariableDeclaration","scope":1262,"src":"13092:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1227,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13092:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"13091:18:0"},"returnParameters":{"id":1236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1235,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1262,"src":"13187:24:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SupplyChainUpdate_$48_memory_ptr","typeString":"struct CropChain.SupplyChainUpdate"},"typeName":{"id":1234,"nodeType":"UserDefinedTypeName","pathNode":{"id":1233,"name":"SupplyChainUpdate","nameLocations":["13187:17:0"],"nodeType":"IdentifierPath","referencedDeclaration":48,"src":"13187:17:0"},"referencedDeclaration":48,"src":"13187:17:0","typeDescriptions":{"typeIdentifier":"t_struct$_SupplyChainUpdate_$48_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate"}},"visibility":"internal"}],"src":"13186:26:0"},"scope":1414,"src":"13067:322:0","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":1308,"nodeType":"Block","src":"13525:294:0","statements":[{"assignments":[1271],"declarations":[{"constant":false,"id":1271,"mutability":"mutable","name":"batchHash","nameLocation":"13543:9:0","nodeType":"VariableDeclaration","scope":1308,"src":"13535:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1270,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13535:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1275,"initialValue":{"arguments":[{"id":1273,"name":"_batchId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1264,"src":"13568:8:0","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1272,"name":"_toBatchHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":305,"src":"13555:12:0","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes32_$","typeString":"function (string memory) pure returns (bytes32)"}},"id":1274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13555:22:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"13535:42:0"},{"expression":{"arguments":[{"expression":{"baseExpression":{"id":1277,"name":"cropBatches","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58,"src":"13595:11:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_CropBatch_$34_storage_$","typeString":"mapping(bytes32 => struct CropChain.CropBatch storage ref)"}},"id":1279,"indexExpression":{"id":1278,"name":"batchHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1271,"src":"13607:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13595:22:0","typeDescriptions":{"typeIdentifier":"t_struct$_CropBatch_$34_storage","typeString":"struct CropChain.CropBatch storage ref"}},"id":1280,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"13618:6:0","memberName":"exists","nodeType":"MemberAccess","referencedDeclaration":31,"src":"13595:29:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4261746368206e6f7420666f756e64","id":1281,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13626:17:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_da72169ad4f66a2268f3d0d6f19f1623cafa7e891cd0021980bf75380555fddd","typeString":"literal_string \"Batch not found\""},"value":"Batch not found"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_da72169ad4f66a2268f3d0d6f19f1623cafa7e891cd0021980bf75380555fddd","typeString":"literal_string \"Batch not found\""}],"id":1276,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13587:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1282,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13587:57:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1283,"nodeType":"ExpressionStatement","src":"13587:57:0"},{"assignments":[1288],"declarations":[{"constant":false,"id":1288,"mutability":"mutable","name":"updates","nameLocation":"13683:7:0","nodeType":"VariableDeclaration","scope":1308,"src":"13655:35:0","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate[]"},"typeName":{"baseType":{"id":1286,"nodeType":"UserDefinedTypeName","pathNode":{"id":1285,"name":"SupplyChainUpdate","nameLocations":["13655:17:0"],"nodeType":"IdentifierPath","referencedDeclaration":48,"src":"13655:17:0"},"referencedDeclaration":48,"src":"13655:17:0","typeDescriptions":{"typeIdentifier":"t_struct$_SupplyChainUpdate_$48_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate"}},"id":1287,"nodeType":"ArrayTypeName","src":"13655:19:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate[]"}},"visibility":"internal"}],"id":1292,"initialValue":{"baseExpression":{"id":1289,"name":"batchUpdates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":64,"src":"13693:12:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_$","typeString":"mapping(bytes32 => struct CropChain.SupplyChainUpdate storage ref[] storage ref)"}},"id":1291,"indexExpression":{"id":1290,"name":"batchHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1271,"src":"13706:9:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13693:23:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage","typeString":"struct CropChain.SupplyChainUpdate storage ref[] storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13655:61:0"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1294,"name":"updates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1288,"src":"13734:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate storage ref[] storage pointer"}},"id":1295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13742:6:0","memberName":"length","nodeType":"MemberAccess","src":"13734:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13751:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13734:18:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e6f2075706461746573","id":1298,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"13754:12:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_3e7676fc822bc9ef2dfbd8c8fd79eba63804a5a8cfafeeca5f62de50f5afcffa","typeString":"literal_string \"No updates\""},"value":"No updates"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_3e7676fc822bc9ef2dfbd8c8fd79eba63804a5a8cfafeeca5f62de50f5afcffa","typeString":"literal_string \"No updates\""}],"id":1293,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"13726:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"13726:41:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1300,"nodeType":"ExpressionStatement","src":"13726:41:0"},{"expression":{"baseExpression":{"id":1301,"name":"updates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1288,"src":"13785:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate storage ref[] storage pointer"}},"id":1306,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1305,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1302,"name":"updates","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1288,"src":"13793:7:0","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_SupplyChainUpdate_$48_storage_$dyn_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate storage ref[] storage pointer"}},"id":1303,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13801:6:0","memberName":"length","nodeType":"MemberAccess","src":"13793:14:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":1304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13810:1:0","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"13793:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13785:27:0","typeDescriptions":{"typeIdentifier":"t_struct$_SupplyChainUpdate_$48_storage","typeString":"struct CropChain.SupplyChainUpdate storage ref"}},"functionReturnParameters":1269,"id":1307,"nodeType":"Return","src":"13778:34:0"}]},"functionSelector":"95e46802","id":1309,"implemented":true,"kind":"function","modifiers":[],"name":"getLatestUpdateById","nameLocation":"13404:19:0","nodeType":"FunctionDefinition","parameters":{"id":1265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1264,"mutability":"mutable","name":"_batchId","nameLocation":"13438:8:0","nodeType":"VariableDeclaration","scope":1309,"src":"13424:22:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1263,"name":"string","nodeType":"ElementaryTypeName","src":"13424:6:0","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"13423:24:0"},"returnParameters":{"id":1269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1268,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1309,"src":"13495:24:0","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_SupplyChainUpdate_$48_memory_ptr","typeString":"struct CropChain.SupplyChainUpdate"},"typeName":{"id":1267,"nodeType":"UserDefinedTypeName","pathNode":{"id":1266,"name":"SupplyChainUpdate","nameLocations":["13495:17:0"],"nodeType":"IdentifierPath","referencedDeclaration":48,"src":"13495:17:0"},"referencedDeclaration":48,"src":"13495:17:0","typeDescriptions":{"typeIdentifier":"t_struct$_SupplyChainUpdate_$48_storage_ptr","typeString":"struct CropChain.SupplyChainUpdate"}},"visibility":"internal"}],"src":"13494:26:0"},"scope":1414,"src":"13395:424:0","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":1317,"nodeType":"Block","src":"13884:42:0","statements":[{"expression":{"expression":{"id":1314,"name":"allBatchIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"13901:11:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":1315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"13913:6:0","memberName":"length","nodeType":"MemberAccess","src":"13901:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1313,"id":1316,"nodeType":"Return","src":"13894:25:0"}]},"functionSelector":"e561dddc","id":1318,"implemented":true,"kind":"function","modifiers":[],"name":"getTotalBatches","nameLocation":"13834:15:0","nodeType":"FunctionDefinition","parameters":{"id":1310,"nodeType":"ParameterList","parameters":[],"src":"13849:2:0"},"returnParameters":{"id":1313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1312,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1318,"src":"13875:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1311,"name":"uint256","nodeType":"ElementaryTypeName","src":"13875:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13874:9:0"},"scope":1414,"src":"13825:101:0","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":1326,"nodeType":"Block","src":"13989:42:0","statements":[{"expression":{"expression":{"id":1323,"name":"allBatchIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"14006:11:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":1324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14018:6:0","memberName":"length","nodeType":"MemberAccess","src":"14006:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1322,"id":1325,"nodeType":"Return","src":"13999:25:0"}]},"functionSelector":"a8fabfa5","id":1327,"implemented":true,"kind":"function","modifiers":[],"name":"getBatchCount","nameLocation":"13941:13:0","nodeType":"FunctionDefinition","parameters":{"id":1319,"nodeType":"ParameterList","parameters":[],"src":"13954:2:0"},"returnParameters":{"id":1322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1321,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1327,"src":"13980:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1320,"name":"uint256","nodeType":"ElementaryTypeName","src":"13980:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"13979:9:0"},"scope":1414,"src":"13932:99:0","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":1346,"nodeType":"Block","src":"14140:106:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1335,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1329,"src":"14158:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":1336,"name":"allBatchIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"14167:11:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":1337,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14179:6:0","memberName":"length","nodeType":"MemberAccess","src":"14167:18:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14158:27:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4f7574206f6620626f756e6473","id":1339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14187:15:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_b41949acbaaf353c3b06db4eca325fcb904a9e2f00e4b04e99aa82cd9a4ff9ce","typeString":"literal_string \"Out of bounds\""},"value":"Out of bounds"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b41949acbaaf353c3b06db4eca325fcb904a9e2f00e4b04e99aa82cd9a4ff9ce","typeString":"literal_string \"Out of bounds\""}],"id":1334,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14150:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1340,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14150:53:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1341,"nodeType":"ExpressionStatement","src":"14150:53:0"},{"expression":{"baseExpression":{"id":1342,"name":"allBatchIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":72,"src":"14220:11:0","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage","typeString":"bytes32[] storage ref"}},"id":1344,"indexExpression":{"id":1343,"name":"_index","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1329,"src":"14232:6:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14220:19:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":1333,"id":1345,"nodeType":"Return","src":"14213:26:0"}]},"functionSelector":"a0b6041d","id":1347,"implemented":true,"kind":"function","modifiers":[],"name":"getBatchIdByIndex","nameLocation":"14046:17:0","nodeType":"FunctionDefinition","parameters":{"id":1330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1329,"mutability":"mutable","name":"_index","nameLocation":"14072:6:0","nodeType":"VariableDeclaration","scope":1347,"src":"14064:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1328,"name":"uint256","nodeType":"ElementaryTypeName","src":"14064:7:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"14063:16:0"},"returnParameters":{"id":1333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1332,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1347,"src":"14127:7:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1331,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14127:7:0","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14126:9:0"},"scope":1414,"src":"14037:209:0","stateMutability":"view","virtual":false,"visibility":"external"},{"body":{"id":1386,"nodeType":"Block","src":"14411:231:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1357,"name":"_newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1349,"src":"14429:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1360,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14450:1:0","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1359,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14442:7:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1358,"name":"address","nodeType":"ElementaryTypeName","src":"14442:7:0","typeDescriptions":{}}},"id":1361,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14442:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14429:23:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e76616c69642061646472657373","id":1363,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14454:17:0","typeDescriptions":{"typeIdentifier":"t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226","typeString":"literal_string \"Invalid address\""},"value":"Invalid address"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226","typeString":"literal_string \"Invalid address\""}],"id":1356,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"14421:7:0","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14421:51:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1365,"nodeType":"ExpressionStatement","src":"14421:51:0"},{"assignments":[1367],"declarations":[{"constant":false,"id":1367,"mutability":"mutable","name":"previous","nameLocation":"14491:8:0","nodeType":"VariableDeclaration","scope":1386,"src":"14483:16:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1366,"name":"address","nodeType":"ElementaryTypeName","src":"14483:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1369,"initialValue":{"id":1368,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"14502:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"14483:24:0"},{"expression":{"id":1372,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1370,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":74,"src":"14517:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1371,"name":"_newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1349,"src":"14525:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"14517:17:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1373,"nodeType":"ExpressionStatement","src":"14517:17:0"},{"expression":{"id":1379,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1374,"name":"roles","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":69,"src":"14544:5:0","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_enum$_ActorRole_$19_$","typeString":"mapping(address => enum CropChain.ActorRole)"}},"id":1376,"indexExpression":{"id":1375,"name":"_newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1349,"src":"14550:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14544:16:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":1377,"name":"ActorRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19,"src":"14563:9:0","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_ActorRole_$19_$","typeString":"type(enum CropChain.ActorRole)"}},"id":1378,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"14573:5:0","memberName":"Admin","nodeType":"MemberAccess","referencedDeclaration":18,"src":"14563:15:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"src":"14544:34:0","typeDescriptions":{"typeIdentifier":"t_enum$_ActorRole_$19","typeString":"enum CropChain.ActorRole"}},"id":1380,"nodeType":"ExpressionStatement","src":"14544:34:0"},{"eventCall":{"arguments":[{"id":1382,"name":"previous","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1367,"src":"14615:8:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1383,"name":"_newOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1349,"src":"14625:9:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1381,"name":"OwnershipTransferred","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137,"src":"14594:20:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":1384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14594:41:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1385,"nodeType":"EmitStatement","src":"14589:46:0"}]},"functionSelector":"f2fde38b","id":1387,"implemented":true,"kind":"function","modifiers":[{"id":1352,"kind":"modifierInvocation","modifierName":{"id":1351,"name":"onlyOwner","nameLocations":["14376:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":177,"src":"14376:9:0"},"nodeType":"ModifierInvocation","src":"14376:9:0"},{"id":1354,"kind":"modifierInvocation","modifierName":{"id":1353,"name":"nonReentrant","nameLocations":["14394:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":1624,"src":"14394:12:0"},"nodeType":"ModifierInvocation","src":"14394:12:0"}],"name":"transferOwnership","nameLocation":"14314:17:0","nodeType":"FunctionDefinition","parameters":{"id":1350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1349,"mutability":"mutable","name":"_newOwner","nameLocation":"14340:9:0","nodeType":"VariableDeclaration","scope":1387,"src":"14332:17:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1348,"name":"address","nodeType":"ElementaryTypeName","src":"14332:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14331:19:0"},"returnParameters":{"id":1355,"nodeType":"ParameterList","parameters":[],"src":"14411:0:0"},"scope":1414,"src":"14305:337:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":1412,"nodeType":"Block","src":"14741:157:0","statements":[{"condition":{"id":1396,"name":"_paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1389,"src":"14755:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1404,"nodeType":"Block","src":"14803:35:0","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1401,"name":"_unpause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"14817:8:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1402,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14817:10:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1403,"nodeType":"ExpressionStatement","src":"14817:10:0"}]},"id":1405,"nodeType":"IfStatement","src":"14751:87:0","trueBody":{"id":1400,"nodeType":"Block","src":"14764:33:0","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1397,"name":"_pause","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1580,"src":"14778:6:0","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14778:8:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1399,"nodeType":"ExpressionStatement","src":"14778:8:0"}]}},{"eventCall":{"arguments":[{"expression":{"id":1407,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"14871:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"14875:6:0","memberName":"sender","nodeType":"MemberAccess","src":"14871:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1409,"name":"_paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1389,"src":"14883:7:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1406,"name":"PauseStateUpdated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":143,"src":"14853:17:0","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bool_$returns$__$","typeString":"function (address,bool)"}},"id":1410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"14853:38:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1411,"nodeType":"EmitStatement","src":"14848:43:0"}]},"functionSelector":"16c38b3c","id":1413,"implemented":true,"kind":"function","modifiers":[{"id":1392,"kind":"modifierInvocation","modifierName":{"id":1391,"name":"onlyOwner","nameLocations":["14706:9:0"],"nodeType":"IdentifierPath","referencedDeclaration":177,"src":"14706:9:0"},"nodeType":"ModifierInvocation","src":"14706:9:0"},{"id":1394,"kind":"modifierInvocation","modifierName":{"id":1393,"name":"nonReentrant","nameLocations":["14724:12:0"],"nodeType":"IdentifierPath","referencedDeclaration":1624,"src":"14724:12:0"},"nodeType":"ModifierInvocation","src":"14724:12:0"}],"name":"setPaused","nameLocation":"14657:9:0","nodeType":"FunctionDefinition","parameters":{"id":1390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1389,"mutability":"mutable","name":"_paused","nameLocation":"14672:7:0","nodeType":"VariableDeclaration","scope":1413,"src":"14667:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1388,"name":"bool","nodeType":"ElementaryTypeName","src":"14667:4:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"14666:14:0"},"returnParameters":{"id":1395,"nodeType":"ParameterList","parameters":[],"src":"14741:0:0"},"scope":1414,"src":"14648:250:0","stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"scope":1415,"src":"134:14766:0","usedErrors":[]}],"src":"32:14869:0"},"id":0},"contracts/Verifier.sol":{"ast":{"absolutePath":"contracts/Verifier.sol","exportedSymbols":{"Groth16Verifier":[1504]},"id":1505,"license":"GPL-3.0","nodeType":"SourceUnit","nodes":[{"id":1416,"literals":["solidity",">=","0.7",".0","<","0.9",".0"],"nodeType":"PragmaDirective","src":"798:31:1"},{"abstract":false,"baseContracts":[],"canonicalName":"Groth16Verifier","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":1504,"linearizedBaseContracts":[1504],"name":"Groth16Verifier","nameLocation":"840:15:1","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":1419,"mutability":"constant","name":"r","nameLocation":"904:1:1","nodeType":"VariableDeclaration","scope":1504,"src":"887:101:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1417,"name":"uint256","nodeType":"ElementaryTypeName","src":"887:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3231383838323432383731383339323735323232323436343035373435323537323735303838353438333634343030343136303334333433363938323034313836353735383038343935363137","id":1418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"911:77:1","typeDescriptions":{"typeIdentifier":"t_rational_21888242871839275222246405745257275088548364400416034343698204186575808495617_by_1","typeString":"int_const 2188...(69 digits omitted)...5617"},"value":"21888242871839275222246405745257275088548364400416034343698204186575808495617"},"visibility":"internal"},{"constant":true,"id":1422,"mutability":"constant","name":"q","nameLocation":"1034:1:1","nodeType":"VariableDeclaration","scope":1504,"src":"1017:100:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1420,"name":"uint256","nodeType":"ElementaryTypeName","src":"1017:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3231383838323432383731383339323735323232323436343035373435323537323735303838363936333131313537323937383233363632363839303337383934363435323236323038353833","id":1421,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1040:77:1","typeDescriptions":{"typeIdentifier":"t_rational_21888242871839275222246405745257275088696311157297823662689037894645226208583_by_1","typeString":"int_const 2188...(69 digits omitted)...8583"},"value":"21888242871839275222246405745257275088696311157297823662689037894645226208583"},"visibility":"internal"},{"constant":true,"id":1425,"mutability":"constant","name":"alphax","nameLocation":"1170:6:1","nodeType":"VariableDeclaration","scope":1504,"src":"1153:104:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1423,"name":"uint256","nodeType":"ElementaryTypeName","src":"1153:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3230343931313932383035333930343835323939313533303039373733353934353334393430313839323631383636323238343437393138303638363538343731393730343831373633303432","id":1424,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1180:77:1","typeDescriptions":{"typeIdentifier":"t_rational_20491192805390485299153009773594534940189261866228447918068658471970481763042_by_1","typeString":"int_const 2049...(69 digits omitted)...3042"},"value":"20491192805390485299153009773594534940189261866228447918068658471970481763042"},"visibility":"internal"},{"constant":true,"id":1428,"mutability":"constant","name":"alphay","nameLocation":"1280:6:1","nodeType":"VariableDeclaration","scope":1504,"src":"1263:103:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1426,"name":"uint256","nodeType":"ElementaryTypeName","src":"1263:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"39333833343835333633303533323930323030393138333437313536313537383336353636353632393637393934303339373132323733343439393032363231323636313738353435393538","id":1427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1290:76:1","typeDescriptions":{"typeIdentifier":"t_rational_9383485363053290200918347156157836566562967994039712273449902621266178545958_by_1","typeString":"int_const 9383...(68 digits omitted)...5958"},"value":"9383485363053290200918347156157836566562967994039712273449902621266178545958"},"visibility":"internal"},{"constant":true,"id":1431,"mutability":"constant","name":"betax1","nameLocation":"1389:6:1","nodeType":"VariableDeclaration","scope":1504,"src":"1372:103:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1429,"name":"uint256","nodeType":"ElementaryTypeName","src":"1372:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"34323532383232383738373538333030383539313233383937393831343530353931333533353333303733343133313937373731373638363531343432363635373532323539333937313332","id":1430,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1399:76:1","typeDescriptions":{"typeIdentifier":"t_rational_4252822878758300859123897981450591353533073413197771768651442665752259397132_by_1","typeString":"int_const 4252...(68 digits omitted)...7132"},"value":"4252822878758300859123897981450591353533073413197771768651442665752259397132"},"visibility":"internal"},{"constant":true,"id":1434,"mutability":"constant","name":"betax2","nameLocation":"1498:6:1","nodeType":"VariableDeclaration","scope":1504,"src":"1481:103:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1432,"name":"uint256","nodeType":"ElementaryTypeName","src":"1481:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"36333735363134333531363838373235323036343033393438323632383638393632373933363235373434303433373934333035373135323232303131353238343539363536373338373331","id":1433,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1508:76:1","typeDescriptions":{"typeIdentifier":"t_rational_6375614351688725206403948262868962793625744043794305715222011528459656738731_by_1","typeString":"int_const 6375...(68 digits omitted)...8731"},"value":"6375614351688725206403948262868962793625744043794305715222011528459656738731"},"visibility":"internal"},{"constant":true,"id":1437,"mutability":"constant","name":"betay1","nameLocation":"1607:6:1","nodeType":"VariableDeclaration","scope":1504,"src":"1590:104:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1435,"name":"uint256","nodeType":"ElementaryTypeName","src":"1590:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3231383437303335313035353238373435343033323838323332363931313437353834373238313931313632373332323939383635333338333737313539363932333530303539313336363739","id":1436,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1617:77:1","typeDescriptions":{"typeIdentifier":"t_rational_21847035105528745403288232691147584728191162732299865338377159692350059136679_by_1","typeString":"int_const 2184...(69 digits omitted)...6679"},"value":"21847035105528745403288232691147584728191162732299865338377159692350059136679"},"visibility":"internal"},{"constant":true,"id":1440,"mutability":"constant","name":"betay2","nameLocation":"1717:6:1","nodeType":"VariableDeclaration","scope":1504,"src":"1700:104:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1438,"name":"uint256","nodeType":"ElementaryTypeName","src":"1700:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130353035323432363236333730323632323737353532393031303832303934333536363937343039383335363830323230353930393731383733313731313430333731333331323036383536","id":1439,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1727:77:1","typeDescriptions":{"typeIdentifier":"t_rational_10505242626370262277552901082094356697409835680220590971873171140371331206856_by_1","typeString":"int_const 1050...(69 digits omitted)...6856"},"value":"10505242626370262277552901082094356697409835680220590971873171140371331206856"},"visibility":"internal"},{"constant":true,"id":1443,"mutability":"constant","name":"gammax1","nameLocation":"1827:7:1","nodeType":"VariableDeclaration","scope":1504,"src":"1810:104:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1441,"name":"uint256","nodeType":"ElementaryTypeName","src":"1810:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3131353539373332303332393836333837313037393931303034303231333932323835373833393235383132383631383231313932353330393137343033313531343532333931383035363334","id":1442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1837:77:1","typeDescriptions":{"typeIdentifier":"t_rational_11559732032986387107991004021392285783925812861821192530917403151452391805634_by_1","typeString":"int_const 1155...(69 digits omitted)...5634"},"value":"11559732032986387107991004021392285783925812861821192530917403151452391805634"},"visibility":"internal"},{"constant":true,"id":1446,"mutability":"constant","name":"gammax2","nameLocation":"1937:7:1","nodeType":"VariableDeclaration","scope":1504,"src":"1920:104:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1444,"name":"uint256","nodeType":"ElementaryTypeName","src":"1920:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3130383537303436393939303233303537313335393434353730373632323332383239343831333730373536333539353738353138303836393930353139393933323835363535383532373831","id":1445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1947:77:1","typeDescriptions":{"typeIdentifier":"t_rational_10857046999023057135944570762232829481370756359578518086990519993285655852781_by_1","typeString":"int_const 1085...(69 digits omitted)...2781"},"value":"10857046999023057135944570762232829481370756359578518086990519993285655852781"},"visibility":"internal"},{"constant":true,"id":1449,"mutability":"constant","name":"gammay1","nameLocation":"2047:7:1","nodeType":"VariableDeclaration","scope":1504,"src":"2030:103:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1447,"name":"uint256","nodeType":"ElementaryTypeName","src":"2030:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"34303832333637383735383633343333363831333332323033343033313435343335353638333136383531333237353933343031323038313035373431303736323134313230303933353331","id":1448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2057:76:1","typeDescriptions":{"typeIdentifier":"t_rational_4082367875863433681332203403145435568316851327593401208105741076214120093531_by_1","typeString":"int_const 4082...(68 digits omitted)...3531"},"value":"4082367875863433681332203403145435568316851327593401208105741076214120093531"},"visibility":"internal"},{"constant":true,"id":1452,"mutability":"constant","name":"gammay2","nameLocation":"2156:7:1","nodeType":"VariableDeclaration","scope":1504,"src":"2139:103:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1450,"name":"uint256","nodeType":"ElementaryTypeName","src":"2139:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"38343935363533393233313233343331343137363034393733323437343839323732343338343138313930353837323633363030313438373730323830363439333036393538313031393330","id":1451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2166:76:1","typeDescriptions":{"typeIdentifier":"t_rational_8495653923123431417604973247489272438418190587263600148770280649306958101930_by_1","typeString":"int_const 8495...(68 digits omitted)...1930"},"value":"8495653923123431417604973247489272438418190587263600148770280649306958101930"},"visibility":"internal"},{"constant":true,"id":1455,"mutability":"constant","name":"deltax1","nameLocation":"2265:7:1","nodeType":"VariableDeclaration","scope":1504,"src":"2248:104:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1453,"name":"uint256","nodeType":"ElementaryTypeName","src":"2248:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3135323734353434303335363838393935323335343338343739383539373137353431303037343738323333313131393936373539383837343638343938323033393033363034393432393732","id":1454,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2275:77:1","typeDescriptions":{"typeIdentifier":"t_rational_15274544035688995235438479859717541007478233111996759887468498203903604942972_by_1","typeString":"int_const 1527...(69 digits omitted)...2972"},"value":"15274544035688995235438479859717541007478233111996759887468498203903604942972"},"visibility":"internal"},{"constant":true,"id":1458,"mutability":"constant","name":"deltax2","nameLocation":"2375:7:1","nodeType":"VariableDeclaration","scope":1504,"src":"2358:104:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1456,"name":"uint256","nodeType":"ElementaryTypeName","src":"2358:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3133323034323534353031393034333736323335393936303936353930353639373139353335303639373238343332323532393930323337353239333635383633313434303833343132343336","id":1457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2385:77:1","typeDescriptions":{"typeIdentifier":"t_rational_13204254501904376235996096590569719535069728432252990237529365863144083412436_by_1","typeString":"int_const 1320...(69 digits omitted)...2436"},"value":"13204254501904376235996096590569719535069728432252990237529365863144083412436"},"visibility":"internal"},{"constant":true,"id":1461,"mutability":"constant","name":"deltay1","nameLocation":"2485:7:1","nodeType":"VariableDeclaration","scope":1504,"src":"2468:104:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1459,"name":"uint256","nodeType":"ElementaryTypeName","src":"2468:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3230323439333832393730373533393233383032363632343136353339353630333132303037393230303230303630353332303830363331383035323431373034393437393635393139303335","id":1460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2495:77:1","typeDescriptions":{"typeIdentifier":"t_rational_20249382970753923802662416539560312007920020060532080631805241704947965919035_by_1","typeString":"int_const 2024...(69 digits omitted)...9035"},"value":"20249382970753923802662416539560312007920020060532080631805241704947965919035"},"visibility":"internal"},{"constant":true,"id":1464,"mutability":"constant","name":"deltay2","nameLocation":"2595:7:1","nodeType":"VariableDeclaration","scope":1504,"src":"2578:103:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1462,"name":"uint256","nodeType":"ElementaryTypeName","src":"2578:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"38343031343732353136393330393038383730333033333437373837353530313130323338313736333435333933323436353034383738343331383436303434373430373439333431373531","id":1463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2605:76:1","typeDescriptions":{"typeIdentifier":"t_rational_8401472516930908870303347787550110238176345393246504878431846044740749341751_by_1","typeString":"int_const 8401...(68 digits omitted)...1751"},"value":"8401472516930908870303347787550110238176345393246504878431846044740749341751"},"visibility":"internal"},{"constant":true,"id":1467,"mutability":"constant","name":"IC0x","nameLocation":"2710:4:1","nodeType":"VariableDeclaration","scope":1504,"src":"2693:100:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1465,"name":"uint256","nodeType":"ElementaryTypeName","src":"2693:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"37323038393631333034303135343637353035393734323434393238373938323934333639363633313436353636333735393436373237343830383734393738333738393633323331353934","id":1466,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2717:76:1","typeDescriptions":{"typeIdentifier":"t_rational_7208961304015467505974244928798294369663146566375946727480874978378963231594_by_1","typeString":"int_const 7208...(68 digits omitted)...1594"},"value":"7208961304015467505974244928798294369663146566375946727480874978378963231594"},"visibility":"internal"},{"constant":true,"id":1470,"mutability":"constant","name":"IC0y","nameLocation":"2816:4:1","nodeType":"VariableDeclaration","scope":1504,"src":"2799:101:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1468,"name":"uint256","nodeType":"ElementaryTypeName","src":"2799:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"3231363134353531363138383339383439303939353237373930323838353237393738393632393737343738343534343434303034393534313937353533383635303737313034373331363431","id":1469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2823:77:1","typeDescriptions":{"typeIdentifier":"t_rational_21614551618839849099527790288527978962977478454444004954197553865077104731641_by_1","typeString":"int_const 2161...(69 digits omitted)...1641"},"value":"21614551618839849099527790288527978962977478454444004954197553865077104731641"},"visibility":"internal"},{"constant":true,"id":1473,"mutability":"constant","name":"pVk","nameLocation":"2948:3:1","nodeType":"VariableDeclaration","scope":1504,"src":"2932:23:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1471,"name":"uint16","nodeType":"ElementaryTypeName","src":"2932:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"30","id":1472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2954:1:1","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"internal"},{"constant":true,"id":1476,"mutability":"constant","name":"pPairing","nameLocation":"2977:8:1","nodeType":"VariableDeclaration","scope":1504,"src":"2961:30:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1474,"name":"uint16","nodeType":"ElementaryTypeName","src":"2961:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"313238","id":1475,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2988:3:1","typeDescriptions":{"typeIdentifier":"t_rational_128_by_1","typeString":"int_const 128"},"value":"128"},"visibility":"internal"},{"constant":true,"id":1479,"mutability":"constant","name":"pLastMem","nameLocation":"3014:8:1","nodeType":"VariableDeclaration","scope":1504,"src":"2998:30:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":1477,"name":"uint16","nodeType":"ElementaryTypeName","src":"2998:6:1","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"value":{"hexValue":"383936","id":1478,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3025:3:1","typeDescriptions":{"typeIdentifier":"t_rational_896_by_1","typeString":"int_const 896"},"value":"896"},"visibility":"internal"},{"body":{"id":1502,"nodeType":"Block","src":"3181:3470:1","statements":[{"AST":{"nodeType":"YulBlock","src":"3200:3444:1","statements":[{"body":{"nodeType":"YulBlock","src":"3237:140:1","statements":[{"body":{"nodeType":"YulBlock","src":"3275:88:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3304:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3307:1:1","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3297:6:1"},"nodeType":"YulFunctionCall","src":"3297:12:1"},"nodeType":"YulExpressionStatement","src":"3297:12:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3337:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3340:4:1","type":"","value":"0x20"}],"functionName":{"name":"return","nodeType":"YulIdentifier","src":"3330:6:1"},"nodeType":"YulFunctionCall","src":"3330:15:1"},"nodeType":"YulExpressionStatement","src":"3330:15:1"}]},"condition":{"arguments":[{"arguments":[{"name":"v","nodeType":"YulIdentifier","src":"3268:1:1"},{"name":"r","nodeType":"YulIdentifier","src":"3271:1:1"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3265:2:1"},"nodeType":"YulFunctionCall","src":"3265:8:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3258:6:1"},"nodeType":"YulFunctionCall","src":"3258:16:1"},"nodeType":"YulIf","src":"3255:108:1"}]},"name":"checkField","nodeType":"YulFunctionDefinition","parameters":[{"name":"v","nodeType":"YulTypedName","src":"3234:1:1","type":""}],"src":"3214:163:1"},{"body":{"nodeType":"YulBlock","src":"3514:705:1","statements":[{"nodeType":"YulVariableDeclaration","src":"3532:11:1","variables":[{"name":"success","nodeType":"YulTypedName","src":"3536:7:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3560:22:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3577:4:1","type":"","value":"0x40"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3571:5:1"},"nodeType":"YulFunctionCall","src":"3571:11:1"},"variables":[{"name":"mIn","nodeType":"YulTypedName","src":"3564:3:1","type":""}]},{"expression":{"arguments":[{"name":"mIn","nodeType":"YulIdentifier","src":"3606:3:1"},{"name":"x","nodeType":"YulIdentifier","src":"3611:1:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3599:6:1"},"nodeType":"YulFunctionCall","src":"3599:14:1"},"nodeType":"YulExpressionStatement","src":"3599:14:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nodeType":"YulIdentifier","src":"3641:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"3646:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3637:3:1"},"nodeType":"YulFunctionCall","src":"3637:12:1"},{"name":"y","nodeType":"YulIdentifier","src":"3651:1:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3630:6:1"},"nodeType":"YulFunctionCall","src":"3630:23:1"},"nodeType":"YulExpressionStatement","src":"3630:23:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nodeType":"YulIdentifier","src":"3681:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"3686:2:1","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3677:3:1"},"nodeType":"YulFunctionCall","src":"3677:12:1"},{"name":"s","nodeType":"YulIdentifier","src":"3691:1:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3670:6:1"},"nodeType":"YulFunctionCall","src":"3670:23:1"},"nodeType":"YulExpressionStatement","src":"3670:23:1"},{"nodeType":"YulAssignment","src":"3711:60:1","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"3737:3:1"},"nodeType":"YulFunctionCall","src":"3737:5:1"},{"kind":"number","nodeType":"YulLiteral","src":"3744:4:1","type":"","value":"2000"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3733:3:1"},"nodeType":"YulFunctionCall","src":"3733:16:1"},{"kind":"number","nodeType":"YulLiteral","src":"3751:1:1","type":"","value":"7"},{"name":"mIn","nodeType":"YulIdentifier","src":"3754:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"3759:2:1","type":"","value":"96"},{"name":"mIn","nodeType":"YulIdentifier","src":"3763:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"3768:2:1","type":"","value":"64"}],"functionName":{"name":"staticcall","nodeType":"YulIdentifier","src":"3722:10:1"},"nodeType":"YulFunctionCall","src":"3722:49:1"},"variableNames":[{"name":"success","nodeType":"YulIdentifier","src":"3711:7:1"}]},{"body":{"nodeType":"YulBlock","src":"3808:88:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3837:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3840:1:1","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3830:6:1"},"nodeType":"YulFunctionCall","src":"3830:12:1"},"nodeType":"YulExpressionStatement","src":"3830:12:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3870:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3873:4:1","type":"","value":"0x20"}],"functionName":{"name":"return","nodeType":"YulIdentifier","src":"3863:6:1"},"nodeType":"YulFunctionCall","src":"3863:15:1"},"nodeType":"YulExpressionStatement","src":"3863:15:1"}]},"condition":{"arguments":[{"name":"success","nodeType":"YulIdentifier","src":"3799:7:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3792:6:1"},"nodeType":"YulFunctionCall","src":"3792:15:1"},"nodeType":"YulIf","src":"3789:107:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nodeType":"YulIdentifier","src":"3925:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"3930:2:1","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3921:3:1"},"nodeType":"YulFunctionCall","src":"3921:12:1"},{"arguments":[{"name":"pR","nodeType":"YulIdentifier","src":"3941:2:1"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3935:5:1"},"nodeType":"YulFunctionCall","src":"3935:9:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3914:6:1"},"nodeType":"YulFunctionCall","src":"3914:31:1"},"nodeType":"YulExpressionStatement","src":"3914:31:1"},{"expression":{"arguments":[{"arguments":[{"name":"mIn","nodeType":"YulIdentifier","src":"3973:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"3978:2:1","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3969:3:1"},"nodeType":"YulFunctionCall","src":"3969:12:1"},{"arguments":[{"arguments":[{"name":"pR","nodeType":"YulIdentifier","src":"3993:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"3997:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3989:3:1"},"nodeType":"YulFunctionCall","src":"3989:11:1"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3983:5:1"},"nodeType":"YulFunctionCall","src":"3983:18:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3962:6:1"},"nodeType":"YulFunctionCall","src":"3962:40:1"},"nodeType":"YulExpressionStatement","src":"3962:40:1"},{"nodeType":"YulAssignment","src":"4020:60:1","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"4046:3:1"},"nodeType":"YulFunctionCall","src":"4046:5:1"},{"kind":"number","nodeType":"YulLiteral","src":"4053:4:1","type":"","value":"2000"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4042:3:1"},"nodeType":"YulFunctionCall","src":"4042:16:1"},{"kind":"number","nodeType":"YulLiteral","src":"4060:1:1","type":"","value":"6"},{"name":"mIn","nodeType":"YulIdentifier","src":"4063:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"4068:3:1","type":"","value":"128"},{"name":"pR","nodeType":"YulIdentifier","src":"4073:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"4077:2:1","type":"","value":"64"}],"functionName":{"name":"staticcall","nodeType":"YulIdentifier","src":"4031:10:1"},"nodeType":"YulFunctionCall","src":"4031:49:1"},"variableNames":[{"name":"success","nodeType":"YulIdentifier","src":"4020:7:1"}]},{"body":{"nodeType":"YulBlock","src":"4117:88:1","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4146:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4149:1:1","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4139:6:1"},"nodeType":"YulFunctionCall","src":"4139:12:1"},"nodeType":"YulExpressionStatement","src":"4139:12:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4179:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4182:4:1","type":"","value":"0x20"}],"functionName":{"name":"return","nodeType":"YulIdentifier","src":"4172:6:1"},"nodeType":"YulFunctionCall","src":"4172:15:1"},"nodeType":"YulExpressionStatement","src":"4172:15:1"}]},"condition":{"arguments":[{"name":"success","nodeType":"YulIdentifier","src":"4108:7:1"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"4101:6:1"},"nodeType":"YulFunctionCall","src":"4101:15:1"},"nodeType":"YulIf","src":"4098:107:1"}]},"name":"g1_mulAccC","nodeType":"YulFunctionDefinition","parameters":[{"name":"pR","nodeType":"YulTypedName","src":"3501:2:1","type":""},{"name":"x","nodeType":"YulTypedName","src":"3505:1:1","type":""},{"name":"y","nodeType":"YulTypedName","src":"3508:1:1","type":""},{"name":"s","nodeType":"YulTypedName","src":"3511:1:1","type":""}],"src":"3481:738:1"},{"body":{"nodeType":"YulBlock","src":"4281:2041:1","statements":[{"nodeType":"YulVariableDeclaration","src":"4299:36:1","value":{"arguments":[{"name":"pMem","nodeType":"YulIdentifier","src":"4320:4:1"},{"name":"pPairing","nodeType":"YulIdentifier","src":"4326:8:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4316:3:1"},"nodeType":"YulFunctionCall","src":"4316:19:1"},"variables":[{"name":"_pPairing","nodeType":"YulTypedName","src":"4303:9:1","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4352:26:1","value":{"arguments":[{"name":"pMem","nodeType":"YulIdentifier","src":"4368:4:1"},{"name":"pVk","nodeType":"YulIdentifier","src":"4374:3:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4364:3:1"},"nodeType":"YulFunctionCall","src":"4364:14:1"},"variables":[{"name":"_pVk","nodeType":"YulTypedName","src":"4356:4:1","type":""}]},{"expression":{"arguments":[{"name":"_pVk","nodeType":"YulIdentifier","src":"4403:4:1"},{"name":"IC0x","nodeType":"YulIdentifier","src":"4409:4:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4396:6:1"},"nodeType":"YulFunctionCall","src":"4396:18:1"},"nodeType":"YulExpressionStatement","src":"4396:18:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pVk","nodeType":"YulIdentifier","src":"4442:4:1"},{"kind":"number","nodeType":"YulLiteral","src":"4448:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4438:3:1"},"nodeType":"YulFunctionCall","src":"4438:13:1"},{"name":"IC0y","nodeType":"YulIdentifier","src":"4453:4:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4431:6:1"},"nodeType":"YulFunctionCall","src":"4431:27:1"},"nodeType":"YulExpressionStatement","src":"4431:27:1"},{"expression":{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"4578:9:1"},{"arguments":[{"name":"pA","nodeType":"YulIdentifier","src":"4602:2:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4589:12:1"},"nodeType":"YulFunctionCall","src":"4589:16:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4571:6:1"},"nodeType":"YulFunctionCall","src":"4571:35:1"},"nodeType":"YulExpressionStatement","src":"4571:35:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"4634:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"4645:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4630:3:1"},"nodeType":"YulFunctionCall","src":"4630:18:1"},{"arguments":[{"arguments":[{"name":"q","nodeType":"YulIdentifier","src":"4658:1:1"},{"arguments":[{"arguments":[{"name":"pA","nodeType":"YulIdentifier","src":"4678:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"4682:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4674:3:1"},"nodeType":"YulFunctionCall","src":"4674:11:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4661:12:1"},"nodeType":"YulFunctionCall","src":"4661:25:1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4654:3:1"},"nodeType":"YulFunctionCall","src":"4654:33:1"},{"name":"q","nodeType":"YulIdentifier","src":"4689:1:1"}],"functionName":{"name":"mod","nodeType":"YulIdentifier","src":"4650:3:1"},"nodeType":"YulFunctionCall","src":"4650:41:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4623:6:1"},"nodeType":"YulFunctionCall","src":"4623:69:1"},"nodeType":"YulExpressionStatement","src":"4623:69:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"4742:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"4753:2:1","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4738:3:1"},"nodeType":"YulFunctionCall","src":"4738:18:1"},{"arguments":[{"name":"pB","nodeType":"YulIdentifier","src":"4771:2:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4758:12:1"},"nodeType":"YulFunctionCall","src":"4758:16:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4731:6:1"},"nodeType":"YulFunctionCall","src":"4731:44:1"},"nodeType":"YulExpressionStatement","src":"4731:44:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"4803:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"4814:2:1","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4799:3:1"},"nodeType":"YulFunctionCall","src":"4799:18:1"},{"arguments":[{"arguments":[{"name":"pB","nodeType":"YulIdentifier","src":"4836:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"4840:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4832:3:1"},"nodeType":"YulFunctionCall","src":"4832:11:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4819:12:1"},"nodeType":"YulFunctionCall","src":"4819:25:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4792:6:1"},"nodeType":"YulFunctionCall","src":"4792:53:1"},"nodeType":"YulExpressionStatement","src":"4792:53:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"4873:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"4884:3:1","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4869:3:1"},"nodeType":"YulFunctionCall","src":"4869:19:1"},{"arguments":[{"arguments":[{"name":"pB","nodeType":"YulIdentifier","src":"4907:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"4911:2:1","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4903:3:1"},"nodeType":"YulFunctionCall","src":"4903:11:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4890:12:1"},"nodeType":"YulFunctionCall","src":"4890:25:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4862:6:1"},"nodeType":"YulFunctionCall","src":"4862:54:1"},"nodeType":"YulExpressionStatement","src":"4862:54:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"4944:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"4955:3:1","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4940:3:1"},"nodeType":"YulFunctionCall","src":"4940:19:1"},{"arguments":[{"arguments":[{"name":"pB","nodeType":"YulIdentifier","src":"4978:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"4982:2:1","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4974:3:1"},"nodeType":"YulFunctionCall","src":"4974:11:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4961:12:1"},"nodeType":"YulFunctionCall","src":"4961:25:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4933:6:1"},"nodeType":"YulFunctionCall","src":"4933:54:1"},"nodeType":"YulExpressionStatement","src":"4933:54:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"5042:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5053:3:1","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5038:3:1"},"nodeType":"YulFunctionCall","src":"5038:19:1"},{"name":"alphax","nodeType":"YulIdentifier","src":"5059:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5031:6:1"},"nodeType":"YulFunctionCall","src":"5031:35:1"},"nodeType":"YulExpressionStatement","src":"5031:35:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"5094:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5105:3:1","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5090:3:1"},"nodeType":"YulFunctionCall","src":"5090:19:1"},{"name":"alphay","nodeType":"YulIdentifier","src":"5111:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5083:6:1"},"nodeType":"YulFunctionCall","src":"5083:35:1"},"nodeType":"YulExpressionStatement","src":"5083:35:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"5172:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5183:3:1","type":"","value":"256"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5168:3:1"},"nodeType":"YulFunctionCall","src":"5168:19:1"},{"name":"betax1","nodeType":"YulIdentifier","src":"5189:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5161:6:1"},"nodeType":"YulFunctionCall","src":"5161:35:1"},"nodeType":"YulExpressionStatement","src":"5161:35:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"5224:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5235:3:1","type":"","value":"288"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5220:3:1"},"nodeType":"YulFunctionCall","src":"5220:19:1"},{"name":"betax2","nodeType":"YulIdentifier","src":"5241:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5213:6:1"},"nodeType":"YulFunctionCall","src":"5213:35:1"},"nodeType":"YulExpressionStatement","src":"5213:35:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"5276:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5287:3:1","type":"","value":"320"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5272:3:1"},"nodeType":"YulFunctionCall","src":"5272:19:1"},{"name":"betay1","nodeType":"YulIdentifier","src":"5293:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5265:6:1"},"nodeType":"YulFunctionCall","src":"5265:35:1"},"nodeType":"YulExpressionStatement","src":"5265:35:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"5328:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5339:3:1","type":"","value":"352"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5324:3:1"},"nodeType":"YulFunctionCall","src":"5324:19:1"},{"name":"betay2","nodeType":"YulIdentifier","src":"5345:6:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5317:6:1"},"nodeType":"YulFunctionCall","src":"5317:35:1"},"nodeType":"YulExpressionStatement","src":"5317:35:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"5405:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5416:3:1","type":"","value":"384"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5401:3:1"},"nodeType":"YulFunctionCall","src":"5401:19:1"},{"arguments":[{"arguments":[{"name":"pMem","nodeType":"YulIdentifier","src":"5432:4:1"},{"name":"pVk","nodeType":"YulIdentifier","src":"5438:3:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5428:3:1"},"nodeType":"YulFunctionCall","src":"5428:14:1"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5422:5:1"},"nodeType":"YulFunctionCall","src":"5422:21:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5394:6:1"},"nodeType":"YulFunctionCall","src":"5394:50:1"},"nodeType":"YulExpressionStatement","src":"5394:50:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"5472:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5483:3:1","type":"","value":"416"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5468:3:1"},"nodeType":"YulFunctionCall","src":"5468:19:1"},{"arguments":[{"arguments":[{"name":"pMem","nodeType":"YulIdentifier","src":"5499:4:1"},{"arguments":[{"name":"pVk","nodeType":"YulIdentifier","src":"5509:3:1"},{"kind":"number","nodeType":"YulLiteral","src":"5514:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5505:3:1"},"nodeType":"YulFunctionCall","src":"5505:12:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5495:3:1"},"nodeType":"YulFunctionCall","src":"5495:23:1"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5489:5:1"},"nodeType":"YulFunctionCall","src":"5489:30:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5461:6:1"},"nodeType":"YulFunctionCall","src":"5461:59:1"},"nodeType":"YulExpressionStatement","src":"5461:59:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"5576:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5587:3:1","type":"","value":"448"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5572:3:1"},"nodeType":"YulFunctionCall","src":"5572:19:1"},{"name":"gammax1","nodeType":"YulIdentifier","src":"5593:7:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5565:6:1"},"nodeType":"YulFunctionCall","src":"5565:36:1"},"nodeType":"YulExpressionStatement","src":"5565:36:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"5629:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5640:3:1","type":"","value":"480"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5625:3:1"},"nodeType":"YulFunctionCall","src":"5625:19:1"},{"name":"gammax2","nodeType":"YulIdentifier","src":"5646:7:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5618:6:1"},"nodeType":"YulFunctionCall","src":"5618:36:1"},"nodeType":"YulExpressionStatement","src":"5618:36:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"5682:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5693:3:1","type":"","value":"512"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5678:3:1"},"nodeType":"YulFunctionCall","src":"5678:19:1"},{"name":"gammay1","nodeType":"YulIdentifier","src":"5699:7:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5671:6:1"},"nodeType":"YulFunctionCall","src":"5671:36:1"},"nodeType":"YulExpressionStatement","src":"5671:36:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"5735:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5746:3:1","type":"","value":"544"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5731:3:1"},"nodeType":"YulFunctionCall","src":"5731:19:1"},{"name":"gammay2","nodeType":"YulIdentifier","src":"5752:7:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5724:6:1"},"nodeType":"YulFunctionCall","src":"5724:36:1"},"nodeType":"YulExpressionStatement","src":"5724:36:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"5810:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5821:3:1","type":"","value":"576"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5806:3:1"},"nodeType":"YulFunctionCall","src":"5806:19:1"},{"arguments":[{"name":"pC","nodeType":"YulIdentifier","src":"5840:2:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5827:12:1"},"nodeType":"YulFunctionCall","src":"5827:16:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5799:6:1"},"nodeType":"YulFunctionCall","src":"5799:45:1"},"nodeType":"YulExpressionStatement","src":"5799:45:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"5872:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5883:3:1","type":"","value":"608"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5868:3:1"},"nodeType":"YulFunctionCall","src":"5868:19:1"},{"arguments":[{"arguments":[{"name":"pC","nodeType":"YulIdentifier","src":"5906:2:1"},{"kind":"number","nodeType":"YulLiteral","src":"5910:2:1","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5902:3:1"},"nodeType":"YulFunctionCall","src":"5902:11:1"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5889:12:1"},"nodeType":"YulFunctionCall","src":"5889:25:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5861:6:1"},"nodeType":"YulFunctionCall","src":"5861:54:1"},"nodeType":"YulExpressionStatement","src":"5861:54:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"5970:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"5981:3:1","type":"","value":"640"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5966:3:1"},"nodeType":"YulFunctionCall","src":"5966:19:1"},{"name":"deltax1","nodeType":"YulIdentifier","src":"5987:7:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5959:6:1"},"nodeType":"YulFunctionCall","src":"5959:36:1"},"nodeType":"YulExpressionStatement","src":"5959:36:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"6023:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"6034:3:1","type":"","value":"672"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6019:3:1"},"nodeType":"YulFunctionCall","src":"6019:19:1"},{"name":"deltax2","nodeType":"YulIdentifier","src":"6040:7:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6012:6:1"},"nodeType":"YulFunctionCall","src":"6012:36:1"},"nodeType":"YulExpressionStatement","src":"6012:36:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"6076:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"6087:3:1","type":"","value":"704"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6072:3:1"},"nodeType":"YulFunctionCall","src":"6072:19:1"},{"name":"deltay1","nodeType":"YulIdentifier","src":"6093:7:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6065:6:1"},"nodeType":"YulFunctionCall","src":"6065:36:1"},"nodeType":"YulExpressionStatement","src":"6065:36:1"},{"expression":{"arguments":[{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"6129:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"6140:3:1","type":"","value":"736"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6125:3:1"},"nodeType":"YulFunctionCall","src":"6125:19:1"},{"name":"deltay2","nodeType":"YulIdentifier","src":"6146:7:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6118:6:1"},"nodeType":"YulFunctionCall","src":"6118:36:1"},"nodeType":"YulExpressionStatement","src":"6118:36:1"},{"nodeType":"YulVariableDeclaration","src":"6173:79:1","value":{"arguments":[{"arguments":[{"arguments":[],"functionName":{"name":"gas","nodeType":"YulIdentifier","src":"6203:3:1"},"nodeType":"YulFunctionCall","src":"6203:5:1"},{"kind":"number","nodeType":"YulLiteral","src":"6210:4:1","type":"","value":"2000"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6199:3:1"},"nodeType":"YulFunctionCall","src":"6199:16:1"},{"kind":"number","nodeType":"YulLiteral","src":"6217:1:1","type":"","value":"8"},{"name":"_pPairing","nodeType":"YulIdentifier","src":"6220:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"6231:3:1","type":"","value":"768"},{"name":"_pPairing","nodeType":"YulIdentifier","src":"6236:9:1"},{"kind":"number","nodeType":"YulLiteral","src":"6247:4:1","type":"","value":"0x20"}],"functionName":{"name":"staticcall","nodeType":"YulIdentifier","src":"6188:10:1"},"nodeType":"YulFunctionCall","src":"6188:64:1"},"variables":[{"name":"success","nodeType":"YulTypedName","src":"6177:7:1","type":""}]},{"nodeType":"YulAssignment","src":"6270:38:1","value":{"arguments":[{"name":"success","nodeType":"YulIdentifier","src":"6282:7:1"},{"arguments":[{"name":"_pPairing","nodeType":"YulIdentifier","src":"6297:9:1"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6291:5:1"},"nodeType":"YulFunctionCall","src":"6291:16:1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6278:3:1"},"nodeType":"YulFunctionCall","src":"6278:30:1"},"variableNames":[{"name":"isOk","nodeType":"YulIdentifier","src":"6270:4:1"}]}]},"name":"checkPairing","nodeType":"YulFunctionDefinition","parameters":[{"name":"pA","nodeType":"YulTypedName","src":"4255:2:1","type":""},{"name":"pB","nodeType":"YulTypedName","src":"4259:2:1","type":""},{"name":"pC","nodeType":"YulTypedName","src":"4263:2:1","type":""},{"name":"pMem","nodeType":"YulTypedName","src":"4267:4:1","type":""}],"returnVariables":[{"name":"isOk","nodeType":"YulTypedName","src":"4276:4:1","type":""}],"src":"4233:2089:1"},{"nodeType":"YulVariableDeclaration","src":"6336:23:1","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6354:4:1","type":"","value":"0x40"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6348:5:1"},"nodeType":"YulFunctionCall","src":"6348:11:1"},"variables":[{"name":"pMem","nodeType":"YulTypedName","src":"6340:4:1","type":""}]},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6379:4:1","type":"","value":"0x40"},{"arguments":[{"name":"pMem","nodeType":"YulIdentifier","src":"6389:4:1"},{"name":"pLastMem","nodeType":"YulIdentifier","src":"6395:8:1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6385:3:1"},"nodeType":"YulFunctionCall","src":"6385:19:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6372:6:1"},"nodeType":"YulFunctionCall","src":"6372:33:1"},"nodeType":"YulExpressionStatement","src":"6372:33:1"},{"nodeType":"YulVariableDeclaration","src":"6524:48:1","value":{"arguments":[{"name":"_pA","nodeType":"YulIdentifier","src":"6552:3:1"},{"name":"_pB","nodeType":"YulIdentifier","src":"6557:3:1"},{"name":"_pC","nodeType":"YulIdentifier","src":"6562:3:1"},{"name":"pMem","nodeType":"YulIdentifier","src":"6567:4:1"}],"functionName":{"name":"checkPairing","nodeType":"YulIdentifier","src":"6539:12:1"},"nodeType":"YulFunctionCall","src":"6539:33:1"},"variables":[{"name":"isValid","nodeType":"YulTypedName","src":"6528:7:1","type":""}]},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6593:1:1","type":"","value":"0"},{"name":"isValid","nodeType":"YulIdentifier","src":"6596:7:1"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6586:6:1"},"nodeType":"YulFunctionCall","src":"6586:18:1"},"nodeType":"YulExpressionStatement","src":"6586:18:1"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6625:1:1","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6628:4:1","type":"","value":"0x20"}],"functionName":{"name":"return","nodeType":"YulIdentifier","src":"6618:6:1"},"nodeType":"YulFunctionCall","src":"6618:15:1"},"nodeType":"YulExpressionStatement","src":"6618:15:1"}]},"evmVersion":"paris","externalReferences":[{"declaration":1467,"isOffset":false,"isSlot":false,"src":"4409:4:1","valueSize":1},{"declaration":1470,"isOffset":false,"isSlot":false,"src":"4453:4:1","valueSize":1},{"declaration":1483,"isOffset":false,"isSlot":false,"src":"6552:3:1","valueSize":1},{"declaration":1489,"isOffset":false,"isSlot":false,"src":"6557:3:1","valueSize":1},{"declaration":1493,"isOffset":false,"isSlot":false,"src":"6562:3:1","valueSize":1},{"declaration":1425,"isOffset":false,"isSlot":false,"src":"5059:6:1","valueSize":1},{"declaration":1428,"isOffset":false,"isSlot":false,"src":"5111:6:1","valueSize":1},{"declaration":1431,"isOffset":false,"isSlot":false,"src":"5189:6:1","valueSize":1},{"declaration":1434,"isOffset":false,"isSlot":false,"src":"5241:6:1","valueSize":1},{"declaration":1437,"isOffset":false,"isSlot":false,"src":"5293:6:1","valueSize":1},{"declaration":1440,"isOffset":false,"isSlot":false,"src":"5345:6:1","valueSize":1},{"declaration":1455,"isOffset":false,"isSlot":false,"src":"5987:7:1","valueSize":1},{"declaration":1458,"isOffset":false,"isSlot":false,"src":"6040:7:1","valueSize":1},{"declaration":1461,"isOffset":false,"isSlot":false,"src":"6093:7:1","valueSize":1},{"declaration":1464,"isOffset":false,"isSlot":false,"src":"6146:7:1","valueSize":1},{"declaration":1443,"isOffset":false,"isSlot":false,"src":"5593:7:1","valueSize":1},{"declaration":1446,"isOffset":false,"isSlot":false,"src":"5646:7:1","valueSize":1},{"declaration":1449,"isOffset":false,"isSlot":false,"src":"5699:7:1","valueSize":1},{"declaration":1452,"isOffset":false,"isSlot":false,"src":"5752:7:1","valueSize":1},{"declaration":1479,"isOffset":false,"isSlot":false,"src":"6395:8:1","valueSize":1},{"declaration":1476,"isOffset":false,"isSlot":false,"src":"4326:8:1","valueSize":1},{"declaration":1473,"isOffset":false,"isSlot":false,"src":"4374:3:1","valueSize":1},{"declaration":1473,"isOffset":false,"isSlot":false,"src":"5438:3:1","valueSize":1},{"declaration":1473,"isOffset":false,"isSlot":false,"src":"5509:3:1","valueSize":1},{"declaration":1422,"isOffset":false,"isSlot":false,"src":"4658:1:1","valueSize":1},{"declaration":1422,"isOffset":false,"isSlot":false,"src":"4689:1:1","valueSize":1},{"declaration":1419,"isOffset":false,"isSlot":false,"src":"3271:1:1","valueSize":1}],"id":1501,"nodeType":"InlineAssembly","src":"3191:3453:1"}]},"functionSelector":"c32e370e","id":1503,"implemented":true,"kind":"function","modifiers":[],"name":"verifyProof","nameLocation":"3044:11:1","nodeType":"FunctionDefinition","parameters":{"id":1497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1483,"mutability":"mutable","name":"_pA","nameLocation":"3073:3:1","nodeType":"VariableDeclaration","scope":1503,"src":"3056:20:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$2_calldata_ptr","typeString":"uint256[2]"},"typeName":{"baseType":{"id":1480,"name":"uint","nodeType":"ElementaryTypeName","src":"3056:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1482,"length":{"hexValue":"32","id":1481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3061:1:1","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"ArrayTypeName","src":"3056:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$2_storage_ptr","typeString":"uint256[2]"}},"visibility":"internal"},{"constant":false,"id":1489,"mutability":"mutable","name":"_pB","nameLocation":"3098:3:1","nodeType":"VariableDeclaration","scope":1503,"src":"3078:23:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_uint256_$2_calldata_ptr_$2_calldata_ptr","typeString":"uint256[2][2]"},"typeName":{"baseType":{"baseType":{"id":1484,"name":"uint","nodeType":"ElementaryTypeName","src":"3078:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1486,"length":{"hexValue":"32","id":1485,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3083:1:1","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"ArrayTypeName","src":"3078:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$2_storage_ptr","typeString":"uint256[2]"}},"id":1488,"length":{"hexValue":"32","id":1487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3086:1:1","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"ArrayTypeName","src":"3078:10:1","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_uint256_$2_storage_$2_storage_ptr","typeString":"uint256[2][2]"}},"visibility":"internal"},{"constant":false,"id":1493,"mutability":"mutable","name":"_pC","nameLocation":"3120:3:1","nodeType":"VariableDeclaration","scope":1503,"src":"3103:20:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$2_calldata_ptr","typeString":"uint256[2]"},"typeName":{"baseType":{"id":1490,"name":"uint","nodeType":"ElementaryTypeName","src":"3103:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1492,"length":{"hexValue":"32","id":1491,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3108:1:1","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"ArrayTypeName","src":"3103:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$2_storage_ptr","typeString":"uint256[2]"}},"visibility":"internal"},{"constant":false,"id":1496,"mutability":"mutable","name":"_pubSignals","nameLocation":"3141:11:1","nodeType":"VariableDeclaration","scope":1503,"src":"3125:27:1","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1494,"name":"uint","nodeType":"ElementaryTypeName","src":"3125:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1495,"nodeType":"ArrayTypeName","src":"3125:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3055:98:1"},"returnParameters":{"id":1500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1499,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1503,"src":"3175:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1498,"name":"bool","nodeType":"ElementaryTypeName","src":"3175:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3174:6:1"},"scope":1504,"src":"3035:3616:1","stateMutability":"view","virtual":false,"visibility":"public"}],"scope":1505,"src":"831:5823:1","usedErrors":[]}],"src":"798:5857:1"},"id":1},"contracts/security/Pausable.sol":{"ast":{"absolutePath":"contracts/security/Pausable.sol","exportedSymbols":{"Pausable":[1596]},"id":1597,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1506,"literals":["solidity","^","0.8",".19"],"nodeType":"PragmaDirective","src":"104:24:2"},{"abstract":true,"baseContracts":[],"canonicalName":"Pausable","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":1596,"linearizedBaseContracts":[1596],"name":"Pausable","nameLocation":"148:8:2","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"eventSelector":"62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258","id":1510,"name":"Paused","nameLocation":"169:6:2","nodeType":"EventDefinition","parameters":{"id":1509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1508,"indexed":false,"mutability":"mutable","name":"account","nameLocation":"184:7:2","nodeType":"VariableDeclaration","scope":1510,"src":"176:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1507,"name":"address","nodeType":"ElementaryTypeName","src":"176:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"175:17:2"},"src":"163:30:2"},{"anonymous":false,"eventSelector":"5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa","id":1514,"name":"Unpaused","nameLocation":"204:8:2","nodeType":"EventDefinition","parameters":{"id":1513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1512,"indexed":false,"mutability":"mutable","name":"account","nameLocation":"221:7:2","nodeType":"VariableDeclaration","scope":1514,"src":"213:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1511,"name":"address","nodeType":"ElementaryTypeName","src":"213:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"212:17:2"},"src":"198:32:2"},{"constant":false,"id":1516,"mutability":"mutable","name":"_paused","nameLocation":"249:7:2","nodeType":"VariableDeclaration","scope":1596,"src":"236:20:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1515,"name":"bool","nodeType":"ElementaryTypeName","src":"236:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"private"},{"body":{"id":1523,"nodeType":"Block","src":"277:32:2","statements":[{"expression":{"id":1521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1519,"name":"_paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1516,"src":"287:7:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":1520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"297:5:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"287:15:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1522,"nodeType":"ExpressionStatement","src":"287:15:2"}]},"id":1524,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":1517,"nodeType":"ParameterList","parameters":[],"src":"274:2:2"},"returnParameters":{"id":1518,"nodeType":"ParameterList","parameters":[],"src":"277:0:2"},"scope":1596,"src":"263:46:2","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1530,"nodeType":"Block","src":"340:47:2","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1526,"name":"_requireNotPaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1556,"src":"350:17:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":1527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"350:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1528,"nodeType":"ExpressionStatement","src":"350:19:2"},{"id":1529,"nodeType":"PlaceholderStatement","src":"379:1:2"}]},"id":1531,"name":"whenNotPaused","nameLocation":"324:13:2","nodeType":"ModifierDefinition","parameters":{"id":1525,"nodeType":"ParameterList","parameters":[],"src":"337:2:2"},"src":"315:72:2","virtual":false,"visibility":"internal"},{"body":{"id":1537,"nodeType":"Block","src":"415:44:2","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1533,"name":"_requirePaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1565,"src":"425:14:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$__$","typeString":"function () view"}},"id":1534,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"425:16:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1535,"nodeType":"ExpressionStatement","src":"425:16:2"},{"id":1536,"nodeType":"PlaceholderStatement","src":"451:1:2"}]},"id":1538,"name":"whenPaused","nameLocation":"402:10:2","nodeType":"ModifierDefinition","parameters":{"id":1532,"nodeType":"ParameterList","parameters":[],"src":"412:2:2"},"src":"393:66:2","virtual":false,"visibility":"internal"},{"body":{"id":1545,"nodeType":"Block","src":"518:31:2","statements":[{"expression":{"id":1543,"name":"_paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1516,"src":"535:7:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1542,"id":1544,"nodeType":"Return","src":"528:14:2"}]},"functionSelector":"5c975abb","id":1546,"implemented":true,"kind":"function","modifiers":[],"name":"paused","nameLocation":"474:6:2","nodeType":"FunctionDefinition","parameters":{"id":1539,"nodeType":"ParameterList","parameters":[],"src":"480:2:2"},"returnParameters":{"id":1542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1541,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1546,"src":"512:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1540,"name":"bool","nodeType":"ElementaryTypeName","src":"512:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"511:6:2"},"scope":1596,"src":"465:84:2","stateMutability":"view","virtual":true,"visibility":"public"},{"body":{"id":1555,"nodeType":"Block","src":"606:54:2","statements":[{"expression":{"arguments":[{"id":1551,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"624:8:2","subExpression":{"id":1550,"name":"_paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1516,"src":"625:7:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5061757361626c653a20706175736564","id":1552,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"634:18:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a","typeString":"literal_string \"Pausable: paused\""},"value":"Pausable: paused"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a","typeString":"literal_string \"Pausable: paused\""}],"id":1549,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"616:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"616:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1554,"nodeType":"ExpressionStatement","src":"616:37:2"}]},"id":1556,"implemented":true,"kind":"function","modifiers":[],"name":"_requireNotPaused","nameLocation":"564:17:2","nodeType":"FunctionDefinition","parameters":{"id":1547,"nodeType":"ParameterList","parameters":[],"src":"581:2:2"},"returnParameters":{"id":1548,"nodeType":"ParameterList","parameters":[],"src":"606:0:2"},"scope":1596,"src":"555:105:2","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":1564,"nodeType":"Block","src":"714:57:2","statements":[{"expression":{"arguments":[{"id":1560,"name":"_paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1516,"src":"732:7:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5061757361626c653a206e6f7420706175736564","id":1561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"741:22:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a","typeString":"literal_string \"Pausable: not paused\""},"value":"Pausable: not paused"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a","typeString":"literal_string \"Pausable: not paused\""}],"id":1559,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"724:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"724:40:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1563,"nodeType":"ExpressionStatement","src":"724:40:2"}]},"id":1565,"implemented":true,"kind":"function","modifiers":[],"name":"_requirePaused","nameLocation":"675:14:2","nodeType":"FunctionDefinition","parameters":{"id":1557,"nodeType":"ParameterList","parameters":[],"src":"689:2:2"},"returnParameters":{"id":1558,"nodeType":"ParameterList","parameters":[],"src":"714:0:2"},"scope":1596,"src":"666:105:2","stateMutability":"view","virtual":true,"visibility":"internal"},{"body":{"id":1579,"nodeType":"Block","src":"826:64:2","statements":[{"expression":{"id":1572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1570,"name":"_paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1516,"src":"836:7:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":1571,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"846:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"836:14:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1573,"nodeType":"ExpressionStatement","src":"836:14:2"},{"eventCall":{"arguments":[{"expression":{"id":1575,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"872:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"876:6:2","memberName":"sender","nodeType":"MemberAccess","src":"872:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1574,"name":"Paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1510,"src":"865:6:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"865:18:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1578,"nodeType":"EmitStatement","src":"860:23:2"}]},"id":1580,"implemented":true,"kind":"function","modifiers":[{"id":1568,"kind":"modifierInvocation","modifierName":{"id":1567,"name":"whenNotPaused","nameLocations":["812:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":1531,"src":"812:13:2"},"nodeType":"ModifierInvocation","src":"812:13:2"}],"name":"_pause","nameLocation":"786:6:2","nodeType":"FunctionDefinition","parameters":{"id":1566,"nodeType":"ParameterList","parameters":[],"src":"792:2:2"},"returnParameters":{"id":1569,"nodeType":"ParameterList","parameters":[],"src":"826:0:2"},"scope":1596,"src":"777:113:2","stateMutability":"nonpayable","virtual":true,"visibility":"internal"},{"body":{"id":1594,"nodeType":"Block","src":"944:67:2","statements":[{"expression":{"id":1587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1585,"name":"_paused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1516,"src":"954:7:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":1586,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"964:5:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"954:15:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1588,"nodeType":"ExpressionStatement","src":"954:15:2"},{"eventCall":{"arguments":[{"expression":{"id":1590,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"993:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"997:6:2","memberName":"sender","nodeType":"MemberAccess","src":"993:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1589,"name":"Unpaused","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1514,"src":"984:8:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"984:20:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1593,"nodeType":"EmitStatement","src":"979:25:2"}]},"id":1595,"implemented":true,"kind":"function","modifiers":[{"id":1583,"kind":"modifierInvocation","modifierName":{"id":1582,"name":"whenPaused","nameLocations":["933:10:2"],"nodeType":"IdentifierPath","referencedDeclaration":1538,"src":"933:10:2"},"nodeType":"ModifierInvocation","src":"933:10:2"}],"name":"_unpause","nameLocation":"905:8:2","nodeType":"FunctionDefinition","parameters":{"id":1581,"nodeType":"ParameterList","parameters":[],"src":"913:2:2"},"returnParameters":{"id":1584,"nodeType":"ParameterList","parameters":[],"src":"944:0:2"},"scope":1596,"src":"896:115:2","stateMutability":"nonpayable","virtual":true,"visibility":"internal"}],"scope":1597,"src":"130:883:2","usedErrors":[]}],"src":"104:910:2"},"id":2},"contracts/security/ReentrancyGuard.sol":{"ast":{"absolutePath":"contracts/security/ReentrancyGuard.sol","exportedSymbols":{"ReentrancyGuard":[1648]},"id":1649,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1598,"literals":["solidity","^","0.8",".19"],"nodeType":"PragmaDirective","src":"111:24:3"},{"abstract":true,"baseContracts":[],"canonicalName":"ReentrancyGuard","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":1648,"linearizedBaseContracts":[1648],"name":"ReentrancyGuard","nameLocation":"155:15:3","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":1601,"mutability":"constant","name":"_NOT_ENTERED","nameLocation":"202:12:3","nodeType":"VariableDeclaration","scope":1648,"src":"177:41:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1599,"name":"uint256","nodeType":"ElementaryTypeName","src":"177:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":1600,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"217:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"private"},{"constant":true,"id":1604,"mutability":"constant","name":"_ENTERED","nameLocation":"249:8:3","nodeType":"VariableDeclaration","scope":1648,"src":"224:37:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1602,"name":"uint256","nodeType":"ElementaryTypeName","src":"224:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"32","id":1603,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"260:1:3","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"visibility":"private"},{"constant":false,"id":1606,"mutability":"mutable","name":"_status","nameLocation":"284:7:3","nodeType":"VariableDeclaration","scope":1648,"src":"268:23:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1605,"name":"uint256","nodeType":"ElementaryTypeName","src":"268:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"private"},{"body":{"id":1613,"nodeType":"Block","src":"312:39:3","statements":[{"expression":{"id":1611,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1609,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1606,"src":"322:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1610,"name":"_NOT_ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1601,"src":"332:12:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"322:22:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1612,"nodeType":"ExpressionStatement","src":"322:22:3"}]},"id":1614,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":1607,"nodeType":"ParameterList","parameters":[],"src":"309:2:3"},"returnParameters":{"id":1608,"nodeType":"ParameterList","parameters":[],"src":"312:0:3"},"scope":1648,"src":"298:53:3","stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"body":{"id":1623,"nodeType":"Block","src":"381:79:3","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1616,"name":"_nonReentrantBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1639,"src":"391:19:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"391:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1618,"nodeType":"ExpressionStatement","src":"391:21:3"},{"id":1619,"nodeType":"PlaceholderStatement","src":"422:1:3"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1620,"name":"_nonReentrantAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1647,"src":"433:18:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"433:20:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1622,"nodeType":"ExpressionStatement","src":"433:20:3"}]},"id":1624,"name":"nonReentrant","nameLocation":"366:12:3","nodeType":"ModifierDefinition","parameters":{"id":1615,"nodeType":"ParameterList","parameters":[],"src":"378:2:3"},"src":"357:103:3","virtual":false,"visibility":"internal"},{"body":{"id":1638,"nodeType":"Block","src":"505:108:3","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1628,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1606,"src":"523:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":1629,"name":"_ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1604,"src":"534:8:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"523:19:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5265656e7472616e637947756172643a207265656e7472616e742063616c6c","id":1631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"544:33:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619","typeString":"literal_string \"ReentrancyGuard: reentrant call\""},"value":"ReentrancyGuard: reentrant call"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619","typeString":"literal_string \"ReentrancyGuard: reentrant call\""}],"id":1627,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"515:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"515:63:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1633,"nodeType":"ExpressionStatement","src":"515:63:3"},{"expression":{"id":1636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1634,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1606,"src":"588:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1635,"name":"_ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1604,"src":"598:8:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"588:18:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1637,"nodeType":"ExpressionStatement","src":"588:18:3"}]},"id":1639,"implemented":true,"kind":"function","modifiers":[],"name":"_nonReentrantBefore","nameLocation":"475:19:3","nodeType":"FunctionDefinition","parameters":{"id":1625,"nodeType":"ParameterList","parameters":[],"src":"494:2:3"},"returnParameters":{"id":1626,"nodeType":"ParameterList","parameters":[],"src":"505:0:3"},"scope":1648,"src":"466:147:3","stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"body":{"id":1646,"nodeType":"Block","src":"657:39:3","statements":[{"expression":{"id":1644,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1642,"name":"_status","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1606,"src":"667:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1643,"name":"_NOT_ENTERED","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1601,"src":"677:12:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"667:22:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1645,"nodeType":"ExpressionStatement","src":"667:22:3"}]},"id":1647,"implemented":true,"kind":"function","modifiers":[],"name":"_nonReentrantAfter","nameLocation":"628:18:3","nodeType":"FunctionDefinition","parameters":{"id":1640,"nodeType":"ParameterList","parameters":[],"src":"646:2:3"},"returnParameters":{"id":1641,"nodeType":"ParameterList","parameters":[],"src":"657:0:3"},"scope":1648,"src":"619:77:3","stateMutability":"nonpayable","virtual":false,"visibility":"private"}],"scope":1649,"src":"137:561:3","usedErrors":[]}],"src":"111:588:3"},"id":3},"contracts/test/ReentrancyAttacker.sol":{"ast":{"absolutePath":"contracts/test/ReentrancyAttacker.sol","exportedSymbols":{"CropChain":[1414],"Pausable":[1596],"ReentrancyAttacker":[1772],"ReentrancyGuard":[1648]},"id":1773,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1650,"literals":["solidity","^","0.8",".19"],"nodeType":"PragmaDirective","src":"32:24:4"},{"absolutePath":"contracts/CropChain.sol","file":"../CropChain.sol","id":1651,"nameLocation":"-1:-1:-1","nodeType":"ImportDirective","scope":1773,"sourceUnit":1415,"src":"58:26:4","symbolAliases":[],"unitAlias":""},{"abstract":false,"baseContracts":[],"canonicalName":"ReentrancyAttacker","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":1772,"linearizedBaseContracts":[1772],"name":"ReentrancyAttacker","nameLocation":"95:18:4","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"d4b83992","id":1654,"mutability":"immutable","name":"target","nameLocation":"147:6:4","nodeType":"VariableDeclaration","scope":1772,"src":"120:33:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_CropChain_$1414","typeString":"contract CropChain"},"typeName":{"id":1653,"nodeType":"UserDefinedTypeName","pathNode":{"id":1652,"name":"CropChain","nameLocations":["120:9:4"],"nodeType":"IdentifierPath","referencedDeclaration":1414,"src":"120:9:4"},"referencedDeclaration":1414,"src":"120:9:4","typeDescriptions":{"typeIdentifier":"t_contract$_CropChain_$1414","typeString":"contract CropChain"}},"visibility":"public"},{"constant":false,"functionSelector":"534844a2","id":1656,"mutability":"mutable","name":"withdrawAmount","nameLocation":"175:14:4","nodeType":"VariableDeclaration","scope":1772,"src":"160:29:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1655,"name":"uint256","nodeType":"ElementaryTypeName","src":"160:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"functionSelector":"352bb4ba","id":1658,"mutability":"mutable","name":"maxReentries","nameLocation":"210:12:4","nodeType":"VariableDeclaration","scope":1772,"src":"195:27:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1657,"name":"uint256","nodeType":"ElementaryTypeName","src":"195:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"functionSelector":"53b38169","id":1660,"mutability":"mutable","name":"reentryCount","nameLocation":"243:12:4","nodeType":"VariableDeclaration","scope":1772,"src":"228:27:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1659,"name":"uint256","nodeType":"ElementaryTypeName","src":"228:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"functionSelector":"818c8c7c","id":1662,"mutability":"mutable","name":"attackInProgress","nameLocation":"273:16:4","nodeType":"VariableDeclaration","scope":1772,"src":"261:28:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1661,"name":"bool","nodeType":"ElementaryTypeName","src":"261:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"constant":false,"functionSelector":"32db89f2","id":1664,"mutability":"mutable","name":"reentryBlocked","nameLocation":"307:14:4","nodeType":"VariableDeclaration","scope":1772,"src":"295:26:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1663,"name":"bool","nodeType":"ElementaryTypeName","src":"295:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"public"},{"body":{"id":1675,"nodeType":"Block","src":"357:44:4","statements":[{"expression":{"id":1673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1669,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1654,"src":"367:6:4","typeDescriptions":{"typeIdentifier":"t_contract$_CropChain_$1414","typeString":"contract CropChain"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1671,"name":"_target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1666,"src":"386:7:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1670,"name":"CropChain","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1414,"src":"376:9:4","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_CropChain_$1414_$","typeString":"type(contract CropChain)"}},"id":1672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"376:18:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_CropChain_$1414","typeString":"contract CropChain"}},"src":"367:27:4","typeDescriptions":{"typeIdentifier":"t_contract$_CropChain_$1414","typeString":"contract CropChain"}},"id":1674,"nodeType":"ExpressionStatement","src":"367:27:4"}]},"id":1676,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":1667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1666,"mutability":"mutable","name":"_target","nameLocation":"348:7:4","nodeType":"VariableDeclaration","scope":1676,"src":"340:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1665,"name":"address","nodeType":"ElementaryTypeName","src":"340:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"339:17:4"},"returnParameters":{"id":1668,"nodeType":"ParameterList","parameters":[],"src":"357:0:4"},"scope":1772,"src":"328:73:4","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":1695,"nodeType":"Block","src":"451:104:4","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1683,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1680,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"469:3:4","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1681,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"473:5:4","memberName":"value","nodeType":"MemberAccess","src":"469:9:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"481:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"469:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e6f2076616c7565","id":1684,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"484:10:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_a95d22a2616d21123a8027e11cd68edb847637bfebe8417876817874e9172936","typeString":"literal_string \"No value\""},"value":"No value"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a95d22a2616d21123a8027e11cd68edb847637bfebe8417876817874e9172936","typeString":"literal_string \"No value\""}],"id":1679,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"461:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"461:34:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1686,"nodeType":"ExpressionStatement","src":"461:34:4"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"argumentTypes":[],"expression":{"id":1687,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1654,"src":"505:6:4","typeDescriptions":{"typeIdentifier":"t_contract$_CropChain_$1414","typeString":"contract CropChain"}},"id":1689,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"512:16:4","memberName":"depositLiquidity","nodeType":"MemberAccess","referencedDeclaration":785,"src":"505:23:4","typeDescriptions":{"typeIdentifier":"t_function_external_payable$__$returns$__$","typeString":"function () payable external"}},"id":1692,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"names":["value"],"nodeType":"FunctionCallOptions","options":[{"expression":{"id":1690,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"536:3:4","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1691,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"540:5:4","memberName":"value","nodeType":"MemberAccess","src":"536:9:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"src":"505:41:4","typeDescriptions":{"typeIdentifier":"t_function_external_payable$__$returns$__$value","typeString":"function () payable external"}},"id":1693,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"505:43:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1694,"nodeType":"ExpressionStatement","src":"505:43:4"}]},"functionSelector":"64bf5dcb","id":1696,"implemented":true,"kind":"function","modifiers":[],"name":"depositToTarget","nameLocation":"416:15:4","nodeType":"FunctionDefinition","parameters":{"id":1677,"nodeType":"ParameterList","parameters":[],"src":"431:2:4"},"returnParameters":{"id":1678,"nodeType":"ParameterList","parameters":[],"src":"451:0:4"},"scope":1772,"src":"407:148:4","stateMutability":"payable","virtual":false,"visibility":"external"},{"body":{"id":1740,"nodeType":"Block","src":"642:326:4","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1704,"name":"_withdrawAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1698,"src":"660:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"678:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"660:19:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416d6f756e74206d757374206265203e2030","id":1707,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"681:20:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_01c242f1c806840acb94ec05d87d4647010419c53a053a581e0026b3f6467dbb","typeString":"literal_string \"Amount must be > 0\""},"value":"Amount must be > 0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_01c242f1c806840acb94ec05d87d4647010419c53a053a581e0026b3f6467dbb","typeString":"literal_string \"Amount must be > 0\""}],"id":1703,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"652:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"652:50:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1709,"nodeType":"ExpressionStatement","src":"652:50:4"},{"expression":{"id":1712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1710,"name":"withdrawAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1656,"src":"713:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1711,"name":"_withdrawAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1698,"src":"730:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"713:32:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1713,"nodeType":"ExpressionStatement","src":"713:32:4"},{"expression":{"id":1716,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1714,"name":"maxReentries","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1658,"src":"755:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1715,"name":"_maxReentries","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1700,"src":"770:13:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"755:28:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1717,"nodeType":"ExpressionStatement","src":"755:28:4"},{"expression":{"id":1720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1718,"name":"reentryCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1660,"src":"793:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"30","id":1719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"808:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"793:16:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1721,"nodeType":"ExpressionStatement","src":"793:16:4"},{"expression":{"id":1724,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1722,"name":"reentryBlocked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1664,"src":"819:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":1723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"836:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"819:22:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1725,"nodeType":"ExpressionStatement","src":"819:22:4"},{"expression":{"id":1728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1726,"name":"attackInProgress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"851:16:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":1727,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"870:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"851:23:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1729,"nodeType":"ExpressionStatement","src":"851:23:4"},{"expression":{"arguments":[{"id":1733,"name":"_withdrawAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1698,"src":"910:15:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1730,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1654,"src":"885:6:4","typeDescriptions":{"typeIdentifier":"t_contract$_CropChain_$1414","typeString":"contract CropChain"}},"id":1732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"892:17:4","memberName":"withdrawLiquidity","nodeType":"MemberAccess","referencedDeclaration":857,"src":"885:24:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":1734,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"885:41:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1735,"nodeType":"ExpressionStatement","src":"885:41:4"},{"expression":{"id":1738,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1736,"name":"attackInProgress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"937:16:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"66616c7365","id":1737,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"956:5:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"937:24:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1739,"nodeType":"ExpressionStatement","src":"937:24:4"}]},"functionSelector":"043d7fcd","id":1741,"implemented":true,"kind":"function","modifiers":[],"name":"initiateAttack","nameLocation":"570:14:4","nodeType":"FunctionDefinition","parameters":{"id":1701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1698,"mutability":"mutable","name":"_withdrawAmount","nameLocation":"593:15:4","nodeType":"VariableDeclaration","scope":1741,"src":"585:23:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1697,"name":"uint256","nodeType":"ElementaryTypeName","src":"585:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1700,"mutability":"mutable","name":"_maxReentries","nameLocation":"618:13:4","nodeType":"VariableDeclaration","scope":1741,"src":"610:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1699,"name":"uint256","nodeType":"ElementaryTypeName","src":"610:7:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"584:48:4"},"returnParameters":{"id":1702,"nodeType":"ParameterList","parameters":[],"src":"642:0:4"},"scope":1772,"src":"561:407:4","stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"body":{"id":1770,"nodeType":"Block","src":"1001:308:4","statements":[{"condition":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1749,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1745,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"1015:17:4","subExpression":{"id":1744,"name":"attackInProgress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1662,"src":"1016:16:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1746,"name":"reentryCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1660,"src":"1036:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":1747,"name":"maxReentries","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1658,"src":"1052:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1036:28:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1015:49:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1752,"nodeType":"IfStatement","src":"1011:86:4","trueBody":{"id":1751,"nodeType":"Block","src":"1066:31:4","statements":[{"functionReturnParameters":1743,"id":1750,"nodeType":"Return","src":"1080:7:4"}]}},{"expression":{"id":1755,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1753,"name":"reentryCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1660,"src":"1107:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"hexValue":"31","id":1754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1123:1:4","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"1107:17:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1756,"nodeType":"ExpressionStatement","src":"1107:17:4"},{"clauses":[{"block":{"id":1761,"nodeType":"Block","src":"1180:70:4","statements":[]},"errorName":"","id":1762,"nodeType":"TryCatchClause","src":"1180:70:4"},{"block":{"id":1767,"nodeType":"Block","src":"1257:46:4","statements":[{"expression":{"id":1765,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1763,"name":"reentryBlocked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1664,"src":"1271:14:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":1764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1288:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"1271:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1766,"nodeType":"ExpressionStatement","src":"1271:21:4"}]},"errorName":"","id":1768,"nodeType":"TryCatchClause","src":"1251:52:4"}],"externalCall":{"arguments":[{"id":1759,"name":"withdrawAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1656,"src":"1164:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1757,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1654,"src":"1139:6:4","typeDescriptions":{"typeIdentifier":"t_contract$_CropChain_$1414","typeString":"contract CropChain"}},"id":1758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1146:17:4","memberName":"withdrawLiquidity","nodeType":"MemberAccess","referencedDeclaration":857,"src":"1139:24:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":1760,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1139:40:4","tryCall":true,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1769,"nodeType":"TryStatement","src":"1135:168:4"}]},"id":1771,"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":1742,"nodeType":"ParameterList","parameters":[],"src":"981:2:4"},"returnParameters":{"id":1743,"nodeType":"ParameterList","parameters":[],"src":"1001:0:4"},"scope":1772,"src":"974:335:4","stateMutability":"payable","virtual":false,"visibility":"external"}],"scope":1773,"src":"86:1225:4","usedErrors":[]}],"src":"32:1280:4"},"id":4}},"contracts":{"contracts/CropChain.sol":{"CropChain":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"actor","type":"address"},{"indexed":false,"internalType":"bool","name":"authorized","type":"bool"}],"name":"ActorAuthorized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"batchId","type":"bytes32"},{"indexed":false,"internalType":"string","name":"ipfsCID","type":"string"},{"indexed":false,"internalType":"uint256","name":"quantity","type":"uint256"},{"indexed":true,"internalType":"address","name":"creator","type":"address"}],"name":"BatchCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"batchId","type":"string"},{"indexed":true,"internalType":"address","name":"triggeredBy","type":"address"}],"name":"BatchRecalled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"batchId","type":"bytes32"},{"indexed":false,"internalType":"enum CropChain.Stage","name":"stage","type":"uint8"},{"indexed":false,"internalType":"string","name":"actorName","type":"string"},{"indexed":false,"internalType":"string","name":"location","type":"string"},{"indexed":true,"internalType":"address","name":"updatedBy","type":"address"}],"name":"BatchUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LiquidityDeposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LiquidityWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"by","type":"address"},{"indexed":false,"internalType":"bool","name":"paused","type":"bool"}],"name":"PauseStateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"actor","type":"address"},{"indexed":false,"internalType":"enum CropChain.ActorRole","name":"role","type":"uint8"}],"name":"RoleUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"cropType","type":"string"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":true,"internalType":"address","name":"updatedBy","type":"address"}],"name":"SpotPriceSubmitted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"DEFAULT_TWAP_WINDOW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"allBatchIds","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"batchUpdates","outputs":[{"internalType":"enum CropChain.Stage","name":"stage","type":"uint8"},{"internalType":"string","name":"actorName","type":"string"},{"internalType":"string","name":"location","type":"string"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"string","name":"notes","type":"string"},{"internalType":"address","name":"updatedBy","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_batchId","type":"string"},{"internalType":"string","name":"_farmerName","type":"string"},{"internalType":"string","name":"_farmerAddress","type":"string"},{"internalType":"string","name":"_cropType","type":"string"},{"internalType":"uint256","name":"_quantity","type":"uint256"},{"internalType":"string","name":"_harvestDate","type":"string"},{"internalType":"string","name":"_origin","type":"string"},{"internalType":"string","name":"_certifications","type":"string"},{"internalType":"string","name":"_description","type":"string"}],"name":"createBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"cropBatches","outputs":[{"internalType":"bytes32","name":"batchId","type":"bytes32"},{"internalType":"string","name":"ipfsCID","type":"string"},{"internalType":"uint256","name":"quantity","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"address","name":"creator","type":"address"},{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"bool","name":"isRecalled","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"depositLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"string","name":"_batchId","type":"string"}],"name":"getBatch","outputs":[{"components":[{"internalType":"bytes32","name":"batchId","type":"bytes32"},{"internalType":"string","name":"ipfsCID","type":"string"},{"internalType":"uint256","name":"quantity","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"address","name":"creator","type":"address"},{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"bool","name":"isRecalled","type":"bool"}],"internalType":"struct CropChain.CropBatch","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getBatchCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"}],"name":"getBatchIdByIndex","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_batchId","type":"bytes32"}],"name":"getBatchUpdates","outputs":[{"components":[{"internalType":"enum CropChain.Stage","name":"stage","type":"uint8"},{"internalType":"string","name":"actorName","type":"string"},{"internalType":"string","name":"location","type":"string"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"string","name":"notes","type":"string"},{"internalType":"address","name":"updatedBy","type":"address"}],"internalType":"struct CropChain.SupplyChainUpdate[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_batchId","type":"string"}],"name":"getBatchUpdatesById","outputs":[{"components":[{"internalType":"enum CropChain.Stage","name":"stage","type":"uint8"},{"internalType":"string","name":"actorName","type":"string"},{"internalType":"string","name":"location","type":"string"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"string","name":"notes","type":"string"},{"internalType":"address","name":"updatedBy","type":"address"}],"internalType":"struct CropChain.SupplyChainUpdate[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_cropType","type":"string"}],"name":"getLatestSpotPrice","outputs":[{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_batchId","type":"bytes32"}],"name":"getLatestUpdate","outputs":[{"components":[{"internalType":"enum CropChain.Stage","name":"stage","type":"uint8"},{"internalType":"string","name":"actorName","type":"string"},{"internalType":"string","name":"location","type":"string"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"string","name":"notes","type":"string"},{"internalType":"address","name":"updatedBy","type":"address"}],"internalType":"struct CropChain.SupplyChainUpdate","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_batchId","type":"string"}],"name":"getLatestUpdateById","outputs":[{"components":[{"internalType":"enum CropChain.Stage","name":"stage","type":"uint8"},{"internalType":"string","name":"actorName","type":"string"},{"internalType":"string","name":"location","type":"string"},{"internalType":"uint256","name":"timestamp","type":"uint256"},{"internalType":"string","name":"notes","type":"string"},{"internalType":"address","name":"updatedBy","type":"address"}],"internalType":"struct CropChain.SupplyChainUpdate","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_cropType","type":"string"}],"name":"getPriceObservationCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalBatches","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_cropType","type":"string"},{"internalType":"uint256","name":"_windowSeconds","type":"uint256"}],"name":"getTwapPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"mandiLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_batchId","type":"string"}],"name":"recallBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"roles","outputs":[{"internalType":"enum CropChain.ActorRole","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"enum CropChain.ActorRole","name":"_role","type":"uint8"}],"name":"setRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_cropType","type":"string"},{"internalType":"uint256","name":"_price","type":"uint256"}],"name":"submitSpotPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_batchId","type":"bytes32"},{"internalType":"enum CropChain.Stage","name":"_stage","type":"uint8"},{"internalType":"string","name":"_actorName","type":"string"},{"internalType":"string","name":"_location","type":"string"},{"internalType":"string","name":"_notes","type":"string"}],"name":"updateBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdrawLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"functionDebugData":{"@_1524":{"entryPoint":null,"id":1524,"parameterSlots":0,"returnSlots":0},"@_1614":{"entryPoint":null,"id":1614,"parameterSlots":0,"returnSlots":0},"@_248":{"entryPoint":null,"id":248,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":null,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:143:5","statements":[{"nodeType":"YulBlock","src":"6:3:5","statements":[]},{"body":{"nodeType":"YulBlock","src":"46:95:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"63:1:5","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"70:3:5","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"75:10:5","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"66:3:5"},"nodeType":"YulFunctionCall","src":"66:20:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"56:6:5"},"nodeType":"YulFunctionCall","src":"56:31:5"},"nodeType":"YulExpressionStatement","src":"56:31:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"103:1:5","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"106:4:5","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"96:6:5"},"nodeType":"YulFunctionCall","src":"96:15:5"},"nodeType":"YulExpressionStatement","src":"96:15:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"127:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"130:4:5","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"120:6:5"},"nodeType":"YulFunctionCall","src":"120:15:5"},"nodeType":"YulExpressionStatement","src":"120:15:5"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"14:127:5"}]},"contents":"{\n { }\n function panic_error_0x21()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n}","id":5,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"608060405234801561001057600080fd5b5060016000818155815460ff1990811690925560068054336001600160a01b031990911681179091558152600460205260409020805490911660051790556137718061005d6000396000f3fe6080604052600436106101c25760003560e01c80638da5cb5b116100f7578063aa68b48e11610095578063e3bd286711610064578063e3bd28671461055e578063e561dddc146104af578063f2fde38b1461057e578063f9ca42741461059e57600080fd5b8063aa68b48e146104e4578063ab00501114610516578063b0a6295714610536578063ca593c591461055657600080fd5b806399374642116100d15780639937464214610452578063a0b6041d1461048f578063a8fabfa5146104af578063a9437275146104c457600080fd5b80638da5cb5b146103ba578063906ddff1146103f257806395e468021461042557600080fd5b806336214a1c11610164578063571c3e601161013e578063571c3e60146103345780635c975abb146103545780635fcb212014610377578063716da2951461038d57600080fd5b806336214a1c146102d45780633d41eda1146102f4578063529691871461031457600080fd5b806315770f92116101a057806315770f921461024357806316c38b3c14610267578063290b17ec1461028757806332fc2162146102a757600080fd5b806308ec1ee8146101c75780630a861f2a146101e957806311459ad214610209575b600080fd5b3480156101d357600080fd5b506101e76101e2366004612c94565b6105cb565b005b3480156101f557600080fd5b506101e7610204366004612ce0565b6107d4565b34801561021557600080fd5b50610229610224366004612cf9565b610a26565b604080519283526020830191909152015b60405180910390f35b34801561024f57600080fd5b5061025960085481565b60405190815260200161023a565b34801561027357600080fd5b506101e7610282366004612d3b565b610aea565b34801561029357600080fd5b506102596102a2366004612ce0565b610b7c565b3480156102b357600080fd5b506102596102c2366004612d80565b60076020526000908152604090205481565b3480156102e057600080fd5b506101e76102ef366004612e3e565b610b9d565b34801561030057600080fd5b506101e761030f366004612ee7565b610f56565b34801561032057600080fd5b506101e761032f366004613031565b6114a3565b34801561034057600080fd5b506101e761034f36600461306e565b611587565b34801561036057600080fd5b5060015460ff16604051901515815260200161023a565b34801561038357600080fd5b5061025961070881565b34801561039957600080fd5b506103ad6103a8366004613031565b6116d8565b60405161023a91906131a5565b3480156103c657600080fd5b506006546103da906001600160a01b031681565b6040516001600160a01b03909116815260200161023a565b3480156103fe57600080fd5b5061041261040d366004612ce0565b61198a565b60405161023a9796959493929190613207565b34801561043157600080fd5b50610445610440366004613031565b611a62565b60405161023a9190613257565b34801561045e57600080fd5b5061048261046d366004612d80565b60046020526000908152604090205460ff1681565b60405161023a919061326a565b34801561049b57600080fd5b506102596104aa366004612ce0565b611d3d565b3480156104bb57600080fd5b50600554610259565b3480156104d057600080fd5b506103ad6104df366004612ce0565b611da6565b3480156104f057600080fd5b506105046104ff366004613284565b612047565b60405161023a969594939291906132a6565b34801561052257600080fd5b50610445610531366004612ce0565b612242565b34801561054257600080fd5b50610259610551366004612c94565b6122cd565b6101e76124e7565b34801561056a57600080fd5b50610259610579366004612cf9565b61264c565b34801561058a57600080fd5b506101e7610599366004612d80565b612680565b3480156105aa57600080fd5b506105be6105b9366004613031565b61276d565b60405161023a919061330e565b3360009081526004602052604081205460ff1660058111156105ef576105ef6130a9565b036106155760405162461bcd60e51b815260040161060c9061337f565b60405180910390fd5b3360009081526004602052604090205460ff16600281600581111561063c5761063c6130a9565b148061065957506005816005811115610657576106576130a9565b145b6106755760405162461bcd60e51b815260040161060c906133a7565b61067d6128f1565b610685612939565b826106ce5760405162461bcd60e51b815260206004820152601960248201527843726f7020747970652063616e6e6f7420626520656d70747960381b604482015260640161060c565b600082116107125760405162461bcd60e51b815260206004820152601160248201527005072696365206d757374206265203e203607c1b604482015260640161060c565b600084846040516107249291906133d1565b604080519182900382206000818152600960209081528382208585018552888652428287019081528154600181810184559285529290932095516002909202909501908155905193019290925551909150339061078490879087906133d1565b60408051918290038220868352426020840152917f0a48ce64d777e75fe5538daad7210e5f17aa7af207060a3ca17543550e22a030910160405180910390a3506107ce6001600055565b50505050565b3360009081526004602052604081205460ff1660058111156107f8576107f86130a9565b036108155760405162461bcd60e51b815260040161060c9061337f565b3360009081526004602052604090205460ff16600281600581111561083c5761083c6130a9565b148061085957506005816005811115610857576108576130a9565b145b6108755760405162461bcd60e51b815260040161060c906133a7565b61087d6128f1565b610885612939565b600082116108ca5760405162461bcd60e51b81526020600482015260126024820152710416d6f756e74206d757374206265203e20360741b604482015260640161060c565b33600090815260076020526040902054828110156109235760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e74206c697175696469747960501b604482015260640161060c565b61092d83826133f7565b33600090815260076020526040812091909155600880548592906109529084906133f7565b9091555050604051600090339085908381818185875af1925050503d8060008114610999576040519150601f19603f3d011682016040523d82523d6000602084013e61099e565b606091505b50509050806109e15760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161060c565b60405184815233907fb1cce8684b4ffa8667b4577654e61ee3480d661ee9c27522ac80e211f6bd4d259060200160405180910390a25050610a226001600055565b5050565b60008060008484604051610a3b9291906133d1565b60408051918290039091206000818152600960205291909120805491925090610a9e5760405162461bcd60e51b81526020600482015260156024820152744e6f207072696365206f62736572766174696f6e7360581b604482015260640161060c565b80546000908290610ab1906001906133f7565b81548110610ac157610ac161340a565b9060005260206000209060020201905080600001548160010154945094505050505b9250929050565b6006546001600160a01b03163314610b145760405162461bcd60e51b815260040161060c90613420565b610b1c612939565b8015610b2f57610b2a612992565b610b37565b610b376129dc565b604051811515815233907fe7f645cfca4612e1136cf53cc61a2028d41f30a9bd510c8c467671ee3d4ec83d906020015b60405180910390a2610b796001600055565b50565b60058181548110610b8c57600080fd5b600091825260209091200154905081565b3360009081526004602052604081205460ff166005811115610bc157610bc16130a9565b03610bde5760405162461bcd60e51b815260040161060c9061337f565b610be66128f1565b610bee612939565b6000858152600260205260409020600401548590600160a01b900460ff16610c285760405162461bcd60e51b815260040161060c90613444565b336000908152600460208181526040808420548a85526002909252909220015460ff91821691600160a81b9091041615610c985760405162461bcd60e51b815260206004820152601160248201527010985d18da081a5cc81c9958d85b1b1959607a1b604482015260640161060c565b6000855111610ce15760405162461bcd60e51b81526020600482015260156024820152744163746f722063616e6e6f7420626520656d70747960581b604482015260640161060c565b6000845111610d325760405162461bcd60e51b815260206004820152601860248201527f4c6f636174696f6e2063616e6e6f7420626520656d7074790000000000000000604482015260640161060c565b610d3c8787612a1e565b610d885760405162461bcd60e51b815260206004820152601860248201527f496e76616c6964207374616765207472616e736974696f6e0000000000000000604482015260640161060c565b6005816005811115610d9c57610d9c6130a9565b1480610dad5750610dad8682612ac3565b610df95760405162461bcd60e51b815260206004820152601d60248201527f526f6c652063616e6e6f74207570646174652074686973207374616765000000604482015260640161060c565b600360008881526020019081526020016000206040518060c00160405280886003811115610e2957610e296130a9565b8152602080820189905260408201889052426060830152608082018790523360a09092019190915282546001818101855560009485529190932082516006909402018054929390929091839160ff191690836003811115610e8c57610e8c6130a9565b021790555060208201516001820190610ea590826134f0565b5060408201516002820190610eba90826134f0565b506060820151600382015560808201516004820190610ed990826134f0565b5060a09190910151600590910180546001600160a01b0319166001600160a01b03909216919091179055604051339088907f2cefceaa731c274adf2f7bd3b3237d2e06cb4fe59bd62d9ea2055287a132d36490610f3b908a908a908a906135b0565b60405180910390a35050610f4f6001600055565b5050505050565b3360009081526004602052604081205460ff166005811115610f7a57610f7a6130a9565b03610f975760405162461bcd60e51b815260040161060c9061337f565b610f9f6128f1565b610fa7612939565b885160208a0120600090600081815260026020526040902060040154909150600160a01b900460ff16156110145760405162461bcd60e51b8152602060048201526014602482015273426174636820616c72656164792065786973747360601b604482015260640161060c565b60008a51116110655760405162461bcd60e51b815260206004820152601860248201527f42617463682049442063616e6e6f7420626520656d7074790000000000000000604482015260640161060c565b60008951116110b65760405162461bcd60e51b815260206004820152601b60248201527f4661726d6572206e616d652063616e6e6f7420626520656d7074790000000000604482015260640161060c565b60008851116111075760405162461bcd60e51b815260206004820152601e60248201527f4661726d657220616464726573732063616e6e6f7420626520656d7074790000604482015260640161060c565b60008751116111545760405162461bcd60e51b815260206004820152601960248201527843726f7020747970652063616e6e6f7420626520656d70747960381b604482015260640161060c565b60008551116111a55760405162461bcd60e51b815260206004820152601c60248201527f4861727665737420646174652063616e6e6f7420626520656d70747900000000604482015260640161060c565b60008451116111ef5760405162461bcd60e51b81526020600482015260166024820152754f726967696e2063616e6e6f7420626520656d70747960501b604482015260640161060c565b6000861161123f5760405162461bcd60e51b815260206004820152601f60248201527f5175616e74697479206d7573742062652067726561746572207468616e203000604482015260640161060c565b6040805160e08101825282815260208082018581528284018a9052426060840152336080840152600160a08401819052600060c08501819052868152600290935293909120825181559051859382019061129990826134f0565b506040828101516002830155606083015160038084019190915560808401516004909301805460a086015160c0968701511515600160a81b0260ff60a81b19911515600160a01b026001600160a81b03199093166001600160a01b0390971696909617919091171693909317909255600085815260209290925280822081519384019091529190819081526020018c81526020018781526020014281526020018a898d8960405160200161135094939291906135ec565b60408051601f1981840301815291905281523360209182015282546001818101855560009485529190932082516006909402018054929390929091839160ff1916908360038111156113a4576113a46130a9565b0217905550602082015160018201906113bd90826134f0565b50604082015160028201906113d290826134f0565b5060608201516003820155608082015160048201906113f190826134f0565b5060a09190910151600591820180546001600160a01b0319166001600160a01b0390921691909117905580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001829055604051339083907f1e548d6c3fb449f78f5b7457156dcfb300cbb65d12a4038b334b6bfbdba95738906114849085908c9061369a565b60405180910390a350506114986001600055565b505050505050505050565b6006546001600160a01b031633146114cd5760405162461bcd60e51b815260040161060c90613420565b6114d5612939565b80516020820120600090600081815260026020526040902060040154909150600160a01b900460ff1661151a5760405162461bcd60e51b815260040161060c90613444565b60008181526002602052604090819020600401805460ff60a81b1916600160a81b17905551339061154c9084906136bc565b604051908190038120907f423ae59b8825a6f0d6872201b0102d5bc3ff543cca72ddf16d2e4d698fc9898b90600090a350610b796001600055565b6006546001600160a01b031633146115b15760405162461bcd60e51b815260040161060c90613420565b6115b9612939565b6001600160a01b0382166116015760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161060c565b6001600160a01b0382166000908152600460205260409020805482919060ff19166001836005811115611636576116366130a9565b0217905550816001600160a01b03167fc3f8f61911a1537261f77e2703626e158e299a98e341024ecaa26bbd1d884c6482604051611674919061326a565b60405180910390a26001600160a01b0382167f175deaa679c5cdab1525a1961772f2791ba9122b522490d1625beaf3ba3f638960008360058111156116bb576116bb6130a9565b604051911415815260200160405180910390a2610a226001600055565b80516020820120606090600090600081815260026020526040902060040154909150600160a01b900460ff166117205760405162461bcd60e51b815260040161060c90613444565b600081815260036020908152604080832080548251818502810185019093528083529193909284015b8282101561197e576000848152602090206040805160c08101909152600684029091018054829060ff166003811115611784576117846130a9565b6003811115611795576117956130a9565b81526020016001820180546117a99061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546117d59061346d565b80156118225780601f106117f757610100808354040283529160200191611822565b820191906000526020600020905b81548152906001019060200180831161180557829003601f168201915b5050505050815260200160028201805461183b9061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546118679061346d565b80156118b45780601f10611889576101008083540402835291602001916118b4565b820191906000526020600020905b81548152906001019060200180831161189757829003601f168201915b50505050508152602001600382015481526020016004820180546118d79061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546119039061346d565b80156119505780601f1061192557610100808354040283529160200191611950565b820191906000526020600020905b81548152906001019060200180831161193357829003601f168201915b5050509183525050600591909101546001600160a01b03166020918201529082526001929092019101611749565b50505050915050919050565b600260205260009081526040902080546001820180549192916119ac9061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546119d89061346d565b8015611a255780601f106119fa57610100808354040283529160200191611a25565b820191906000526020600020905b815481529060010190602001808311611a0857829003601f168201915b50505060028401546003850154600490950154939490939092506001600160a01b038116915060ff600160a01b8204811691600160a81b90041687565b611a6a612c12565b81516020830120600090600081815260026020526040902060040154909150600160a01b900460ff16611aaf5760405162461bcd60e51b815260040161060c90613444565b60008181526003602052604090208054611af85760405162461bcd60e51b815260206004820152600a6024820152694e6f207570646174657360b01b604482015260640161060c565b80548190611b08906001906133f7565b81548110611b1857611b1861340a565b600091825260209091206040805160c081019091526006909202018054829060ff166003811115611b4b57611b4b6130a9565b6003811115611b5c57611b5c6130a9565b8152602001600182018054611b709061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611b9c9061346d565b8015611be95780601f10611bbe57610100808354040283529160200191611be9565b820191906000526020600020905b815481529060010190602001808311611bcc57829003601f168201915b50505050508152602001600282018054611c029061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611c2e9061346d565b8015611c7b5780601f10611c5057610100808354040283529160200191611c7b565b820191906000526020600020905b815481529060010190602001808311611c5e57829003601f168201915b5050505050815260200160038201548152602001600482018054611c9e9061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611cca9061346d565b8015611d175780601f10611cec57610100808354040283529160200191611d17565b820191906000526020600020905b815481529060010190602001808311611cfa57829003601f168201915b5050509183525050600591909101546001600160a01b0316602090910152949350505050565b6005546000908210611d815760405162461bcd60e51b815260206004820152600d60248201526c4f7574206f6620626f756e647360981b604482015260640161060c565b60058281548110611d9457611d9461340a565b90600052602060002001549050919050565b6000818152600260205260409020600401546060908290600160a01b900460ff16611de35760405162461bcd60e51b815260040161060c90613444565b600083815260036020908152604080832080548251818502810185019093528083529193909284015b8282101561197e576000848152602090206040805160c08101909152600684029091018054829060ff166003811115611e4757611e476130a9565b6003811115611e5857611e586130a9565b8152602001600182018054611e6c9061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611e989061346d565b8015611ee55780601f10611eba57610100808354040283529160200191611ee5565b820191906000526020600020905b815481529060010190602001808311611ec857829003601f168201915b50505050508152602001600282018054611efe9061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611f2a9061346d565b8015611f775780601f10611f4c57610100808354040283529160200191611f77565b820191906000526020600020905b815481529060010190602001808311611f5a57829003601f168201915b5050505050815260200160038201548152602001600482018054611f9a9061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611fc69061346d565b80156120135780601f10611fe857610100808354040283529160200191612013565b820191906000526020600020905b815481529060010190602001808311611ff657829003601f168201915b5050509183525050600591909101546001600160a01b03166020918201529082526001929092019101611e0c565b50919050565b6003602052816000526040600020818154811061206357600080fd5b60009182526020909120600690910201805460018201805460ff909216945091925061208e9061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546120ba9061346d565b80156121075780601f106120dc57610100808354040283529160200191612107565b820191906000526020600020905b8154815290600101906020018083116120ea57829003601f168201915b50505050509080600201805461211c9061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546121489061346d565b80156121955780601f1061216a57610100808354040283529160200191612195565b820191906000526020600020905b81548152906001019060200180831161217857829003601f168201915b5050505050908060030154908060040180546121b09061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546121dc9061346d565b80156122295780601f106121fe57610100808354040283529160200191612229565b820191906000526020600020905b81548152906001019060200180831161220c57829003601f168201915b505050600590930154919250506001600160a01b031686565b61224a612c12565b6000828152600260205260409020600401548290600160a01b900460ff166122845760405162461bcd60e51b815260040161060c90613444565b60008381526003602052604090208054611af85760405162461bcd60e51b815260206004820152600a6024820152694e6f207570646174657360b01b604482015260640161060c565b60008084846040516122e09291906133d1565b604080519182900390912060008181526009602052919091208054919250906123435760405162461bcd60e51b81526020600482015260156024820152744e6f207072696365206f62736572766174696f6e7360581b604482015260640161060c565b600084156123515784612355565b6107085b9050600081116123985760405162461bcd60e51b815260206004820152600e60248201526d496e76616c69642077696e646f7760901b604482015260640161060c565b4260006123a583836133f7565b8454909150600090819084905b801561247c576000886123c66001846133f7565b815481106123d6576123d661340a565b90600052602060002090600202019050828160010154106123f7575061246a565b60008682600101541161240a5786612410565b81600101545b90508084111561245057600061242682866133f7565b83549091506124369082906136d8565b61244090886136ef565b965061244c81876136ef565b9550505b8682600101541161246257505061247c565b506001015491505b8061247481613702565b9150506123b2565b50600082116124cd5760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e74206f62736572766174696f6e7300000000000000604482015260640161060c565b6124d78284613719565b9c9b505050505050505050505050565b3360009081526004602052604081205460ff16600581111561250b5761250b6130a9565b036125285760405162461bcd60e51b815260040161060c9061337f565b3360009081526004602052604090205460ff16600281600581111561254f5761254f6130a9565b148061256c5750600581600581111561256a5761256a6130a9565b145b6125885760405162461bcd60e51b815260040161060c906133a7565b6125906128f1565b612598612939565b600034116125dd5760405162461bcd60e51b81526020600482015260126024820152710416d6f756e74206d757374206265203e20360741b604482015260640161060c565b33600090815260076020526040812080543492906125fc9084906136ef565b92505081905550346008600082825461261591906136ef565b909155505060405134815233907f7ff07ce9a287649537e4b012e45cf012d90228b12e2b56bb03515a6b5436fcdf90602001610b67565b600080838360405161265f9291906133d1565b60408051918290039091206000908152600960205220549150505b92915050565b6006546001600160a01b031633146126aa5760405162461bcd60e51b815260040161060c90613420565b6126b2612939565b6001600160a01b0381166126fa5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161060c565b600680546001600160a01b031981166001600160a01b03848116918217909355600081815260046020526040808220805460ff19166005179055519390921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350610b796001600055565b6040805160e0810182526000808252606060208084018290528385018390529083018290526080830182905260a0830182905260c08301829052845185820120808352600290915292902060040154909190600160a01b900460ff166127e55760405162461bcd60e51b815260040161060c90613444565b600260008281526020019081526020016000206040518060e00160405290816000820154815260200160018201805461281d9061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546128499061346d565b80156128965780601f1061286b57610100808354040283529160200191612896565b820191906000526020600020905b81548152906001019060200180831161287957829003601f168201915b505050918352505060028201546020820152600382015460408201526004909101546001600160a01b038116606083015260ff600160a01b8204811615156080840152600160a81b90910416151560a0909101529392505050565b60015460ff16156129375760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161060c565b565b60026000540361298b5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161060c565b6002600055565b61299a6128f1565b6001805460ff1916811790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258906020015b60405180910390a1565b6129e4612bc9565b6001805460ff191690556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020016129d2565b600082815260036020526040812080548203612a51576000836003811115612a4857612a486130a9565b1491505061267a565b80546000908290612a64906001906133f7565b81548110612a7457612a7461340a565b600091825260209091206006909102015460ff169050806003811115612a9c57612a9c6130a9565b612aa79060016136ef565b846003811115612ab957612ab96130a9565b1495945050505050565b600080836003811115612ad857612ad86130a9565b148015612af657506001826005811115612af457612af46130a9565b145b15612b035750600161267a565b6001836003811115612b1757612b176130a9565b148015612b3557506002826005811115612b3357612b336130a9565b145b15612b425750600161267a565b6002836003811115612b5657612b566130a9565b148015612b7457506003826005811115612b7257612b726130a9565b145b15612b815750600161267a565b6003836003811115612b9557612b956130a9565b148015612bb357506004826005811115612bb157612bb16130a9565b145b15612bc05750600161267a565b50600092915050565b60015460ff166129375760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161060c565b6040805160c0810190915280600081526020016060815260200160608152602001600081526020016060815260200160006001600160a01b031681525090565b60008083601f840112612c6457600080fd5b50813567ffffffffffffffff811115612c7c57600080fd5b602083019150836020828501011115610ae357600080fd5b600080600060408486031215612ca957600080fd5b833567ffffffffffffffff811115612cc057600080fd5b612ccc86828701612c52565b909790965060209590950135949350505050565b600060208284031215612cf257600080fd5b5035919050565b60008060208385031215612d0c57600080fd5b823567ffffffffffffffff811115612d2357600080fd5b612d2f85828601612c52565b90969095509350505050565b600060208284031215612d4d57600080fd5b81358015158114612d5d57600080fd5b9392505050565b80356001600160a01b0381168114612d7b57600080fd5b919050565b600060208284031215612d9257600080fd5b612d5d82612d64565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612dc257600080fd5b813567ffffffffffffffff80821115612ddd57612ddd612d9b565b604051601f8301601f19908116603f01168101908282118183101715612e0557612e05612d9b565b81604052838152866020858801011115612e1e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a08688031215612e5657600080fd5b85359450602086013560048110612e6c57600080fd5b9350604086013567ffffffffffffffff80821115612e8957600080fd5b612e9589838a01612db1565b94506060880135915080821115612eab57600080fd5b612eb789838a01612db1565b93506080880135915080821115612ecd57600080fd5b50612eda88828901612db1565b9150509295509295909350565b60008060008060008060008060006101208a8c031215612f0657600080fd5b893567ffffffffffffffff80821115612f1e57600080fd5b612f2a8d838e01612db1565b9a5060208c0135915080821115612f4057600080fd5b612f4c8d838e01612db1565b995060408c0135915080821115612f6257600080fd5b612f6e8d838e01612db1565b985060608c0135915080821115612f8457600080fd5b612f908d838e01612db1565b975060808c0135965060a08c0135915080821115612fad57600080fd5b612fb98d838e01612db1565b955060c08c0135915080821115612fcf57600080fd5b612fdb8d838e01612db1565b945060e08c0135915080821115612ff157600080fd5b612ffd8d838e01612db1565b93506101008c013591508082111561301457600080fd5b506130218c828d01612db1565b9150509295985092959850929598565b60006020828403121561304357600080fd5b813567ffffffffffffffff81111561305a57600080fd5b61306684828501612db1565b949350505050565b6000806040838503121561308157600080fd5b61308a83612d64565b915060208301356006811061309e57600080fd5b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b600481106130cf576130cf6130a9565b9052565b60005b838110156130ee5781810151838201526020016130d6565b50506000910152565b6000815180845261310f8160208601602086016130d3565b601f01601f19169290920160200192915050565b61312e8282516130bf565b6000602082015160c0602085015261314960c08501826130f7565b90506040830151848203604086015261316282826130f7565b915050606083015160608501526080830151848203608086015261318682826130f7565b60a0948501516001600160a01b03169590940194909452509092915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156131fa57603f198886030184526131e8858351613123565b945092850192908501906001016131cc565b5092979650505050505050565b87815260e06020820152600061322060e08301896130f7565b60408301979097525060608101949094526001600160a01b03929092166080840152151560a0830152151560c09091015292915050565b602081526000612d5d6020830184613123565b602081016006831061327e5761327e6130a9565b91905290565b6000806040838503121561329757600080fd5b50508035926020909101359150565b6132b081886130bf565b60c0602082015260006132c660c08301886130f7565b82810360408401526132d881886130f7565b905085606084015282810360808401526132f281866130f7565b91505060018060a01b03831660a0830152979650505050505050565b60208152815160208201526000602083015160e060408401526133356101008401826130f7565b9050604084015160608401526060840151608084015260018060a01b0360808501511660a084015260a0840151151560c084015260c0840151151560e08401528091505092915050565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b60208082526010908201526f4d616e64692f41646d696e206f6e6c7960801b604082015260600190565b8183823760009101908152919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561267a5761267a6133e1565b634e487b7160e01b600052603260045260246000fd5b6020808252600a908201526927b7363c9037bbb732b960b11b604082015260600190565b6020808252600f908201526e10985d18da081b9bdd08199bdd5b99608a1b604082015260600190565b600181811c9082168061348157607f821691505b60208210810361204157634e487b7160e01b600052602260045260246000fd5b601f8211156134eb57600081815260208120601f850160051c810160208610156134c85750805b601f850160051c820191505b818110156134e7578281556001016134d4565b5050505b505050565b815167ffffffffffffffff81111561350a5761350a612d9b565b61351e81613518845461346d565b846134a1565b602080601f831160018114613553576000841561353b5750858301515b600019600386901b1c1916600185901b1785556134e7565b600085815260208120601f198616915b8281101561358257888601518255948401946001909101908401613563565b50858210156135a05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6135ba81856130bf565b6060602082015260006135d060608301856130f7565b82810360408401526135e281856130f7565b9695505050505050565b6421b937b81d60d91b81526000855161360c816005850160208a016130d3565b691d902430b93b32b9ba1d60b11b600591840191820152855161363681600f840160208a016130d3565b6c1d902330b936b2b920b232391d60991b600f9290910191820152845161366481601c8401602089016130d3565b661d9021b2b93a1d60c91b601c9290910191820152835161368c8160238401602088016130d3565b016023019695505050505050565b6040815260006136ad60408301856130f7565b90508260208301529392505050565b600082516136ce8184602087016130d3565b9190910192915050565b808202811582820484141761267a5761267a6133e1565b8082018082111561267a5761267a6133e1565b600081613711576137116133e1565b506000190190565b60008261373657634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220feef4e7d83f8056607b8e16cc35d26da52d1e6c2ccdaf24d0d9baa7268392ca264736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x0 DUP2 DUP2 SSTORE DUP2 SLOAD PUSH1 0xFF NOT SWAP1 DUP2 AND SWAP1 SWAP3 SSTORE PUSH1 0x6 DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 SWAP2 AND DUP2 OR SWAP1 SWAP2 SSTORE DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD SWAP1 SWAP2 AND PUSH1 0x5 OR SWAP1 SSTORE PUSH2 0x3771 DUP1 PUSH2 0x5D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1C2 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0xF7 JUMPI DUP1 PUSH4 0xAA68B48E GT PUSH2 0x95 JUMPI DUP1 PUSH4 0xE3BD2867 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xE3BD2867 EQ PUSH2 0x55E JUMPI DUP1 PUSH4 0xE561DDDC EQ PUSH2 0x4AF JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x57E JUMPI DUP1 PUSH4 0xF9CA4274 EQ PUSH2 0x59E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xAA68B48E EQ PUSH2 0x4E4 JUMPI DUP1 PUSH4 0xAB005011 EQ PUSH2 0x516 JUMPI DUP1 PUSH4 0xB0A62957 EQ PUSH2 0x536 JUMPI DUP1 PUSH4 0xCA593C59 EQ PUSH2 0x556 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x99374642 GT PUSH2 0xD1 JUMPI DUP1 PUSH4 0x99374642 EQ PUSH2 0x452 JUMPI DUP1 PUSH4 0xA0B6041D EQ PUSH2 0x48F JUMPI DUP1 PUSH4 0xA8FABFA5 EQ PUSH2 0x4AF JUMPI DUP1 PUSH4 0xA9437275 EQ PUSH2 0x4C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x3BA JUMPI DUP1 PUSH4 0x906DDFF1 EQ PUSH2 0x3F2 JUMPI DUP1 PUSH4 0x95E46802 EQ PUSH2 0x425 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x36214A1C GT PUSH2 0x164 JUMPI DUP1 PUSH4 0x571C3E60 GT PUSH2 0x13E JUMPI DUP1 PUSH4 0x571C3E60 EQ PUSH2 0x334 JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x354 JUMPI DUP1 PUSH4 0x5FCB2120 EQ PUSH2 0x377 JUMPI DUP1 PUSH4 0x716DA295 EQ PUSH2 0x38D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x36214A1C EQ PUSH2 0x2D4 JUMPI DUP1 PUSH4 0x3D41EDA1 EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x52969187 EQ PUSH2 0x314 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x15770F92 GT PUSH2 0x1A0 JUMPI DUP1 PUSH4 0x15770F92 EQ PUSH2 0x243 JUMPI DUP1 PUSH4 0x16C38B3C EQ PUSH2 0x267 JUMPI DUP1 PUSH4 0x290B17EC EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0x32FC2162 EQ PUSH2 0x2A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x8EC1EE8 EQ PUSH2 0x1C7 JUMPI DUP1 PUSH4 0xA861F2A EQ PUSH2 0x1E9 JUMPI DUP1 PUSH4 0x11459AD2 EQ PUSH2 0x209 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x1E2 CALLDATASIZE PUSH1 0x4 PUSH2 0x2C94 JUMP JUMPDEST PUSH2 0x5CB JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x204 CALLDATASIZE PUSH1 0x4 PUSH2 0x2CE0 JUMP JUMPDEST PUSH2 0x7D4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x215 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x229 PUSH2 0x224 CALLDATASIZE PUSH1 0x4 PUSH2 0x2CF9 JUMP JUMPDEST PUSH2 0xA26 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x24F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x259 PUSH1 0x8 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x23A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x282 CALLDATASIZE PUSH1 0x4 PUSH2 0x2D3B JUMP JUMPDEST PUSH2 0xAEA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x259 PUSH2 0x2A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x2CE0 JUMP JUMPDEST PUSH2 0xB7C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x259 PUSH2 0x2C2 CALLDATASIZE PUSH1 0x4 PUSH2 0x2D80 JUMP JUMPDEST PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x2EF CALLDATASIZE PUSH1 0x4 PUSH2 0x2E3E JUMP JUMPDEST PUSH2 0xB9D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x300 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x30F CALLDATASIZE PUSH1 0x4 PUSH2 0x2EE7 JUMP JUMPDEST PUSH2 0xF56 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x320 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x32F CALLDATASIZE PUSH1 0x4 PUSH2 0x3031 JUMP JUMPDEST PUSH2 0x14A3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x340 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x34F CALLDATASIZE PUSH1 0x4 PUSH2 0x306E JUMP JUMPDEST PUSH2 0x1587 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x360 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD PUSH1 0xFF AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x23A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x383 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x259 PUSH2 0x708 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x399 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3AD PUSH2 0x3A8 CALLDATASIZE PUSH1 0x4 PUSH2 0x3031 JUMP JUMPDEST PUSH2 0x16D8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23A SWAP2 SWAP1 PUSH2 0x31A5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x6 SLOAD PUSH2 0x3DA SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x23A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x412 PUSH2 0x40D CALLDATASIZE PUSH1 0x4 PUSH2 0x2CE0 JUMP JUMPDEST PUSH2 0x198A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23A SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3207 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x431 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x445 PUSH2 0x440 CALLDATASIZE PUSH1 0x4 PUSH2 0x3031 JUMP JUMPDEST PUSH2 0x1A62 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23A SWAP2 SWAP1 PUSH2 0x3257 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x45E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x482 PUSH2 0x46D CALLDATASIZE PUSH1 0x4 PUSH2 0x2D80 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23A SWAP2 SWAP1 PUSH2 0x326A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x49B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x259 PUSH2 0x4AA CALLDATASIZE PUSH1 0x4 PUSH2 0x2CE0 JUMP JUMPDEST PUSH2 0x1D3D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x5 SLOAD PUSH2 0x259 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3AD PUSH2 0x4DF CALLDATASIZE PUSH1 0x4 PUSH2 0x2CE0 JUMP JUMPDEST PUSH2 0x1DA6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x504 PUSH2 0x4FF CALLDATASIZE PUSH1 0x4 PUSH2 0x3284 JUMP JUMPDEST PUSH2 0x2047 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23A SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x32A6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x522 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x445 PUSH2 0x531 CALLDATASIZE PUSH1 0x4 PUSH2 0x2CE0 JUMP JUMPDEST PUSH2 0x2242 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x542 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x259 PUSH2 0x551 CALLDATASIZE PUSH1 0x4 PUSH2 0x2C94 JUMP JUMPDEST PUSH2 0x22CD JUMP JUMPDEST PUSH2 0x1E7 PUSH2 0x24E7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x56A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x259 PUSH2 0x579 CALLDATASIZE PUSH1 0x4 PUSH2 0x2CF9 JUMP JUMPDEST PUSH2 0x264C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x58A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x599 CALLDATASIZE PUSH1 0x4 PUSH2 0x2D80 JUMP JUMPDEST PUSH2 0x2680 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5BE PUSH2 0x5B9 CALLDATASIZE PUSH1 0x4 PUSH2 0x3031 JUMP JUMPDEST PUSH2 0x276D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23A SWAP2 SWAP1 PUSH2 0x330E JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0xFF AND PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x5EF JUMPI PUSH2 0x5EF PUSH2 0x30A9 JUMP JUMPDEST SUB PUSH2 0x615 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x337F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH1 0x2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x63C JUMPI PUSH2 0x63C PUSH2 0x30A9 JUMP JUMPDEST EQ DUP1 PUSH2 0x659 JUMPI POP PUSH1 0x5 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x657 JUMPI PUSH2 0x657 PUSH2 0x30A9 JUMP JUMPDEST EQ JUMPDEST PUSH2 0x675 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x33A7 JUMP JUMPDEST PUSH2 0x67D PUSH2 0x28F1 JUMP JUMPDEST PUSH2 0x685 PUSH2 0x2939 JUMP JUMPDEST DUP3 PUSH2 0x6CE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH25 0x43726F7020747970652063616E6E6F7420626520656D707479 PUSH1 0x38 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP3 GT PUSH2 0x712 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x5072696365206D757374206265203E203 PUSH1 0x7C SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x724 SWAP3 SWAP2 SWAP1 PUSH2 0x33D1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB DUP3 KECCAK256 PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 SWAP1 DUP2 MSTORE DUP4 DUP3 KECCAK256 DUP6 DUP6 ADD DUP6 MSTORE DUP9 DUP7 MSTORE TIMESTAMP DUP3 DUP8 ADD SWAP1 DUP2 MSTORE DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE SWAP3 DUP6 MSTORE SWAP3 SWAP1 SWAP4 KECCAK256 SWAP6 MLOAD PUSH1 0x2 SWAP1 SWAP3 MUL SWAP1 SWAP6 ADD SWAP1 DUP2 SSTORE SWAP1 MLOAD SWAP4 ADD SWAP3 SWAP1 SWAP3 SSTORE MLOAD SWAP1 SWAP2 POP CALLER SWAP1 PUSH2 0x784 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH2 0x33D1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB DUP3 KECCAK256 DUP7 DUP4 MSTORE TIMESTAMP PUSH1 0x20 DUP5 ADD MSTORE SWAP2 PUSH32 0xA48CE64D777E75FE5538DAAD7210E5F17AA7AF207060A3CA17543550E22A030 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP PUSH2 0x7CE PUSH1 0x1 PUSH1 0x0 SSTORE JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0xFF AND PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x7F8 JUMPI PUSH2 0x7F8 PUSH2 0x30A9 JUMP JUMPDEST SUB PUSH2 0x815 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x337F JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH1 0x2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x83C JUMPI PUSH2 0x83C PUSH2 0x30A9 JUMP JUMPDEST EQ DUP1 PUSH2 0x859 JUMPI POP PUSH1 0x5 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x857 JUMPI PUSH2 0x857 PUSH2 0x30A9 JUMP JUMPDEST EQ JUMPDEST PUSH2 0x875 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x33A7 JUMP JUMPDEST PUSH2 0x87D PUSH2 0x28F1 JUMP JUMPDEST PUSH2 0x885 PUSH2 0x2939 JUMP JUMPDEST PUSH1 0x0 DUP3 GT PUSH2 0x8CA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x416D6F756E74206D757374206265203E203 PUSH1 0x74 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP3 DUP2 LT ISZERO PUSH2 0x923 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x496E73756666696369656E74206C6971756964697479 PUSH1 0x50 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH2 0x92D DUP4 DUP3 PUSH2 0x33F7 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0x8 DUP1 SLOAD DUP6 SWAP3 SWAP1 PUSH2 0x952 SWAP1 DUP5 SWAP1 PUSH2 0x33F7 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD PUSH1 0x0 SWAP1 CALLER SWAP1 DUP6 SWAP1 DUP4 DUP2 DUP2 DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x999 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x99E JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x9E1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x151C985B9CD9995C8819985A5B1959 PUSH1 0x8A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP5 DUP2 MSTORE CALLER SWAP1 PUSH32 0xB1CCE8684B4FFA8667B4577654E61EE3480D661EE9C27522AC80E211F6BD4D25 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP PUSH2 0xA22 PUSH1 0x1 PUSH1 0x0 SSTORE JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xA3B SWAP3 SWAP2 SWAP1 PUSH2 0x33D1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB SWAP1 SWAP2 KECCAK256 PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD SWAP2 SWAP3 POP SWAP1 PUSH2 0xA9E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x4E6F207072696365206F62736572766174696F6E73 PUSH1 0x58 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP3 SWAP1 PUSH2 0xAB1 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x33F7 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0xAC1 JUMPI PUSH2 0xAC1 PUSH2 0x340A JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD DUP2 PUSH1 0x1 ADD SLOAD SWAP5 POP SWAP5 POP POP POP POP JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xB14 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x3420 JUMP JUMPDEST PUSH2 0xB1C PUSH2 0x2939 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xB2F JUMPI PUSH2 0xB2A PUSH2 0x2992 JUMP JUMPDEST PUSH2 0xB37 JUMP JUMPDEST PUSH2 0xB37 PUSH2 0x29DC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 ISZERO ISZERO DUP2 MSTORE CALLER SWAP1 PUSH32 0xE7F645CFCA4612E1136CF53CC61A2028D41F30A9BD510C8C467671EE3D4EC83D SWAP1 PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH2 0xB79 PUSH1 0x1 PUSH1 0x0 SSTORE JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x5 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xB8C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SLOAD SWAP1 POP DUP2 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0xFF AND PUSH1 0x5 DUP2 GT ISZERO PUSH2 0xBC1 JUMPI PUSH2 0xBC1 PUSH2 0x30A9 JUMP JUMPDEST SUB PUSH2 0xBDE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x337F JUMP JUMPDEST PUSH2 0xBE6 PUSH2 0x28F1 JUMP JUMPDEST PUSH2 0xBEE PUSH2 0x2939 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD DUP6 SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0xC28 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x3444 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SLOAD DUP11 DUP6 MSTORE PUSH1 0x2 SWAP1 SWAP3 MSTORE SWAP1 SWAP3 KECCAK256 ADD SLOAD PUSH1 0xFF SWAP2 DUP3 AND SWAP2 PUSH1 0x1 PUSH1 0xA8 SHL SWAP1 SWAP2 DIV AND ISZERO PUSH2 0xC98 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x10985D18DA081A5CC81C9958D85B1B1959 PUSH1 0x7A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP6 MLOAD GT PUSH2 0xCE1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x4163746F722063616E6E6F7420626520656D707479 PUSH1 0x58 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP5 MLOAD GT PUSH2 0xD32 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4C6F636174696F6E2063616E6E6F7420626520656D7074790000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH2 0xD3C DUP8 DUP8 PUSH2 0x2A1E JUMP JUMPDEST PUSH2 0xD88 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x496E76616C6964207374616765207472616E736974696F6E0000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x5 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0xD9C JUMPI PUSH2 0xD9C PUSH2 0x30A9 JUMP JUMPDEST EQ DUP1 PUSH2 0xDAD JUMPI POP PUSH2 0xDAD DUP7 DUP3 PUSH2 0x2AC3 JUMP JUMPDEST PUSH2 0xDF9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526F6C652063616E6E6F74207570646174652074686973207374616765000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 DUP9 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xE29 JUMPI PUSH2 0xE29 PUSH2 0x30A9 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD DUP10 SWAP1 MSTORE PUSH1 0x40 DUP3 ADD DUP9 SWAP1 MSTORE TIMESTAMP PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD DUP8 SWAP1 MSTORE CALLER PUSH1 0xA0 SWAP1 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP3 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP6 SSTORE PUSH1 0x0 SWAP5 DUP6 MSTORE SWAP2 SWAP1 SWAP4 KECCAK256 DUP3 MLOAD PUSH1 0x6 SWAP1 SWAP5 MUL ADD DUP1 SLOAD SWAP3 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP4 SWAP2 PUSH1 0xFF NOT AND SWAP1 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xE8C JUMPI PUSH2 0xE8C PUSH2 0x30A9 JUMP JUMPDEST MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0xEA5 SWAP1 DUP3 PUSH2 0x34F0 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0xEBA SWAP1 DUP3 PUSH2 0x34F0 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x3 DUP3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD PUSH1 0x4 DUP3 ADD SWAP1 PUSH2 0xED9 SWAP1 DUP3 PUSH2 0x34F0 JUMP JUMPDEST POP PUSH1 0xA0 SWAP2 SWAP1 SWAP2 ADD MLOAD PUSH1 0x5 SWAP1 SWAP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x40 MLOAD CALLER SWAP1 DUP9 SWAP1 PUSH32 0x2CEFCEAA731C274ADF2F7BD3B3237D2E06CB4FE59BD62D9EA2055287A132D364 SWAP1 PUSH2 0xF3B SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 PUSH2 0x35B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP PUSH2 0xF4F PUSH1 0x1 PUSH1 0x0 SSTORE JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0xFF AND PUSH1 0x5 DUP2 GT ISZERO PUSH2 0xF7A JUMPI PUSH2 0xF7A PUSH2 0x30A9 JUMP JUMPDEST SUB PUSH2 0xF97 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x337F JUMP JUMPDEST PUSH2 0xF9F PUSH2 0x28F1 JUMP JUMPDEST PUSH2 0xFA7 PUSH2 0x2939 JUMP JUMPDEST DUP9 MLOAD PUSH1 0x20 DUP11 ADD KECCAK256 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x1014 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x426174636820616C726561647920657869737473 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP11 MLOAD GT PUSH2 0x1065 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x42617463682049442063616E6E6F7420626520656D7074790000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP10 MLOAD GT PUSH2 0x10B6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4661726D6572206E616D652063616E6E6F7420626520656D7074790000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP9 MLOAD GT PUSH2 0x1107 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4661726D657220616464726573732063616E6E6F7420626520656D7074790000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP8 MLOAD GT PUSH2 0x1154 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH25 0x43726F7020747970652063616E6E6F7420626520656D707479 PUSH1 0x38 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP6 MLOAD GT PUSH2 0x11A5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4861727665737420646174652063616E6E6F7420626520656D70747900000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP5 MLOAD GT PUSH2 0x11EF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x4F726967696E2063616E6E6F7420626520656D707479 PUSH1 0x50 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP7 GT PUSH2 0x123F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5175616E74697479206D7573742062652067726561746572207468616E203000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xE0 DUP2 ADD DUP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD DUP6 DUP2 MSTORE DUP3 DUP5 ADD DUP11 SWAP1 MSTORE TIMESTAMP PUSH1 0x60 DUP5 ADD MSTORE CALLER PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0x1 PUSH1 0xA0 DUP5 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 PUSH1 0xC0 DUP6 ADD DUP2 SWAP1 MSTORE DUP7 DUP2 MSTORE PUSH1 0x2 SWAP1 SWAP4 MSTORE SWAP4 SWAP1 SWAP2 KECCAK256 DUP3 MLOAD DUP2 SSTORE SWAP1 MLOAD DUP6 SWAP4 DUP3 ADD SWAP1 PUSH2 0x1299 SWAP1 DUP3 PUSH2 0x34F0 JUMP JUMPDEST POP PUSH1 0x40 DUP3 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x3 DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x4 SWAP1 SWAP4 ADD DUP1 SLOAD PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0xC0 SWAP7 DUP8 ADD MLOAD ISZERO ISZERO PUSH1 0x1 PUSH1 0xA8 SHL MUL PUSH1 0xFF PUSH1 0xA8 SHL NOT SWAP2 ISZERO ISZERO PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xA8 SHL SUB NOT SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP8 AND SWAP7 SWAP1 SWAP7 OR SWAP2 SWAP1 SWAP2 OR AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 SWAP3 SWAP1 SWAP3 MSTORE DUP1 DUP3 KECCAK256 DUP2 MLOAD SWAP4 DUP5 ADD SWAP1 SWAP2 MSTORE SWAP2 SWAP1 DUP2 SWAP1 DUP2 MSTORE PUSH1 0x20 ADD DUP13 DUP2 MSTORE PUSH1 0x20 ADD DUP8 DUP2 MSTORE PUSH1 0x20 ADD TIMESTAMP DUP2 MSTORE PUSH1 0x20 ADD DUP11 DUP10 DUP14 DUP10 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1350 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x35EC JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP2 MSTORE CALLER PUSH1 0x20 SWAP2 DUP3 ADD MSTORE DUP3 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP6 SSTORE PUSH1 0x0 SWAP5 DUP6 MSTORE SWAP2 SWAP1 SWAP4 KECCAK256 DUP3 MLOAD PUSH1 0x6 SWAP1 SWAP5 MUL ADD DUP1 SLOAD SWAP3 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP4 SWAP2 PUSH1 0xFF NOT AND SWAP1 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x13A4 JUMPI PUSH2 0x13A4 PUSH2 0x30A9 JUMP JUMPDEST MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0x13BD SWAP1 DUP3 PUSH2 0x34F0 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0x13D2 SWAP1 DUP3 PUSH2 0x34F0 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x3 DUP3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD PUSH1 0x4 DUP3 ADD SWAP1 PUSH2 0x13F1 SWAP1 DUP3 PUSH2 0x34F0 JUMP JUMPDEST POP PUSH1 0xA0 SWAP2 SWAP1 SWAP2 ADD MLOAD PUSH1 0x5 SWAP2 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE PUSH1 0x0 SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x36B6384B5ECA791C62761152D0C79BB0604C104A5FB6F4EB0703F3154BB3DB0 ADD DUP3 SWAP1 SSTORE PUSH1 0x40 MLOAD CALLER SWAP1 DUP4 SWAP1 PUSH32 0x1E548D6C3FB449F78F5B7457156DCFB300CBB65D12A4038B334B6BFBDBA95738 SWAP1 PUSH2 0x1484 SWAP1 DUP6 SWAP1 DUP13 SWAP1 PUSH2 0x369A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP PUSH2 0x1498 PUSH1 0x1 PUSH1 0x0 SSTORE JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x14CD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x3420 JUMP JUMPDEST PUSH2 0x14D5 PUSH2 0x2939 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP3 ADD KECCAK256 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x151A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x3444 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x4 ADD DUP1 SLOAD PUSH1 0xFF PUSH1 0xA8 SHL NOT AND PUSH1 0x1 PUSH1 0xA8 SHL OR SWAP1 SSTORE MLOAD CALLER SWAP1 PUSH2 0x154C SWAP1 DUP5 SWAP1 PUSH2 0x36BC JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH32 0x423AE59B8825A6F0D6872201B0102D5BC3FF543CCA72DDF16D2E4D698FC9898B SWAP1 PUSH1 0x0 SWAP1 LOG3 POP PUSH2 0xB79 PUSH1 0x1 PUSH1 0x0 SSTORE JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x15B1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x3420 JUMP JUMPDEST PUSH2 0x15B9 PUSH2 0x2939 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1601 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP3 SWAP2 SWAP1 PUSH1 0xFF NOT AND PUSH1 0x1 DUP4 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x1636 JUMPI PUSH2 0x1636 PUSH2 0x30A9 JUMP JUMPDEST MUL OR SWAP1 SSTORE POP DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xC3F8F61911A1537261F77E2703626E158E299A98E341024ECAA26BBD1D884C64 DUP3 PUSH1 0x40 MLOAD PUSH2 0x1674 SWAP2 SWAP1 PUSH2 0x326A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH32 0x175DEAA679C5CDAB1525A1961772F2791BA9122B522490D1625BEAF3BA3F6389 PUSH1 0x0 DUP4 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x16BB JUMPI PUSH2 0x16BB PUSH2 0x30A9 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 EQ ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH2 0xA22 PUSH1 0x1 PUSH1 0x0 SSTORE JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP3 ADD KECCAK256 PUSH1 0x60 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x1720 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x3444 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE SWAP2 SWAP4 SWAP1 SWAP3 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x197E JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x6 DUP5 MUL SWAP1 SWAP2 ADD DUP1 SLOAD DUP3 SWAP1 PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1784 JUMPI PUSH2 0x1784 PUSH2 0x30A9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1795 JUMPI PUSH2 0x1795 PUSH2 0x30A9 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x17A9 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x17D5 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1822 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x17F7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1822 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1805 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x183B SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1867 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x18B4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1889 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x18B4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1897 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD DUP1 SLOAD PUSH2 0x18D7 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1903 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1950 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1925 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1950 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1933 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x5 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 SWAP2 DUP3 ADD MSTORE SWAP1 DUP3 MSTORE PUSH1 0x1 SWAP3 SWAP1 SWAP3 ADD SWAP2 ADD PUSH2 0x1749 JUMP JUMPDEST POP POP POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH2 0x19AC SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x19D8 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1A25 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x19FA JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1A25 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1A08 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP PUSH1 0x2 DUP5 ADD SLOAD PUSH1 0x3 DUP6 ADD SLOAD PUSH1 0x4 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 SWAP1 SWAP4 SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0xA0 SHL DUP3 DIV DUP2 AND SWAP2 PUSH1 0x1 PUSH1 0xA8 SHL SWAP1 DIV AND DUP8 JUMP JUMPDEST PUSH2 0x1A6A PUSH2 0x2C12 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x20 DUP4 ADD KECCAK256 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x1AAF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x3444 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x1AF8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x4E6F2075706461746573 PUSH1 0xB0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST DUP1 SLOAD DUP2 SWAP1 PUSH2 0x1B08 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x33F7 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x1B18 JUMPI PUSH2 0x1B18 PUSH2 0x340A JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x6 SWAP1 SWAP3 MUL ADD DUP1 SLOAD DUP3 SWAP1 PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1B4B JUMPI PUSH2 0x1B4B PUSH2 0x30A9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1B5C JUMPI PUSH2 0x1B5C PUSH2 0x30A9 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x1B70 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1B9C SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1BE9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1BBE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1BE9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1BCC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x1C02 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1C2E SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1C7B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1C50 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1C7B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1C5E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD DUP1 SLOAD PUSH2 0x1C9E SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1CCA SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1D17 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1CEC JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1D17 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1CFA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x5 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x0 SWAP1 DUP3 LT PUSH2 0x1D81 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x4F7574206F6620626F756E6473 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x5 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1D94 JUMPI PUSH2 0x1D94 PUSH2 0x340A JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH1 0x60 SWAP1 DUP3 SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x1DE3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x3444 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE SWAP2 SWAP4 SWAP1 SWAP3 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x197E JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x6 DUP5 MUL SWAP1 SWAP2 ADD DUP1 SLOAD DUP3 SWAP1 PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1E47 JUMPI PUSH2 0x1E47 PUSH2 0x30A9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1E58 JUMPI PUSH2 0x1E58 PUSH2 0x30A9 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x1E6C SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1E98 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1EE5 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1EBA JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1EE5 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1EC8 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x1EFE SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1F2A SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1F77 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1F4C JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1F77 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1F5A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD DUP1 SLOAD PUSH2 0x1F9A SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1FC6 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2013 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1FE8 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2013 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1FF6 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x5 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 SWAP2 DUP3 ADD MSTORE SWAP1 DUP3 MSTORE PUSH1 0x1 SWAP3 SWAP1 SWAP3 ADD SWAP2 ADD PUSH2 0x1E0C JUMP JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x2063 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x6 SWAP1 SWAP2 MUL ADD DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0xFF SWAP1 SWAP3 AND SWAP5 POP SWAP2 SWAP3 POP PUSH2 0x208E SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x20BA SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2107 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x20DC JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2107 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x20EA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x211C SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2148 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2195 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x216A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2195 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2178 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x3 ADD SLOAD SWAP1 DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0x21B0 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x21DC SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2229 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x21FE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2229 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x220C JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP PUSH1 0x5 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 JUMP JUMPDEST PUSH2 0x224A PUSH2 0x2C12 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x2284 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x3444 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x1AF8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x4E6F2075706461746573 PUSH1 0xB0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x22E0 SWAP3 SWAP2 SWAP1 PUSH2 0x33D1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB SWAP1 SWAP2 KECCAK256 PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD SWAP2 SWAP3 POP SWAP1 PUSH2 0x2343 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x4E6F207072696365206F62736572766174696F6E73 PUSH1 0x58 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP5 ISZERO PUSH2 0x2351 JUMPI DUP5 PUSH2 0x2355 JUMP JUMPDEST PUSH2 0x708 JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x2398 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x496E76616C69642077696E646F77 PUSH1 0x90 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST TIMESTAMP PUSH1 0x0 PUSH2 0x23A5 DUP4 DUP4 PUSH2 0x33F7 JUMP JUMPDEST DUP5 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP5 SWAP1 JUMPDEST DUP1 ISZERO PUSH2 0x247C JUMPI PUSH1 0x0 DUP9 PUSH2 0x23C6 PUSH1 0x1 DUP5 PUSH2 0x33F7 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x23D6 JUMPI PUSH2 0x23D6 PUSH2 0x340A JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD SWAP1 POP DUP3 DUP2 PUSH1 0x1 ADD SLOAD LT PUSH2 0x23F7 JUMPI POP PUSH2 0x246A JUMP JUMPDEST PUSH1 0x0 DUP7 DUP3 PUSH1 0x1 ADD SLOAD GT PUSH2 0x240A JUMPI DUP7 PUSH2 0x2410 JUMP JUMPDEST DUP2 PUSH1 0x1 ADD SLOAD JUMPDEST SWAP1 POP DUP1 DUP5 GT ISZERO PUSH2 0x2450 JUMPI PUSH1 0x0 PUSH2 0x2426 DUP3 DUP7 PUSH2 0x33F7 JUMP JUMPDEST DUP4 SLOAD SWAP1 SWAP2 POP PUSH2 0x2436 SWAP1 DUP3 SWAP1 PUSH2 0x36D8 JUMP JUMPDEST PUSH2 0x2440 SWAP1 DUP9 PUSH2 0x36EF JUMP JUMPDEST SWAP7 POP PUSH2 0x244C DUP2 DUP8 PUSH2 0x36EF JUMP JUMPDEST SWAP6 POP POP JUMPDEST DUP7 DUP3 PUSH1 0x1 ADD SLOAD GT PUSH2 0x2462 JUMPI POP POP PUSH2 0x247C JUMP JUMPDEST POP PUSH1 0x1 ADD SLOAD SWAP2 POP JUMPDEST DUP1 PUSH2 0x2474 DUP2 PUSH2 0x3702 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x23B2 JUMP JUMPDEST POP PUSH1 0x0 DUP3 GT PUSH2 0x24CD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x496E73756666696369656E74206F62736572766174696F6E7300000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH2 0x24D7 DUP3 DUP5 PUSH2 0x3719 JUMP JUMPDEST SWAP13 SWAP12 POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0xFF AND PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x250B JUMPI PUSH2 0x250B PUSH2 0x30A9 JUMP JUMPDEST SUB PUSH2 0x2528 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x337F JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH1 0x2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x254F JUMPI PUSH2 0x254F PUSH2 0x30A9 JUMP JUMPDEST EQ DUP1 PUSH2 0x256C JUMPI POP PUSH1 0x5 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x256A JUMPI PUSH2 0x256A PUSH2 0x30A9 JUMP JUMPDEST EQ JUMPDEST PUSH2 0x2588 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x33A7 JUMP JUMPDEST PUSH2 0x2590 PUSH2 0x28F1 JUMP JUMPDEST PUSH2 0x2598 PUSH2 0x2939 JUMP JUMPDEST PUSH1 0x0 CALLVALUE GT PUSH2 0x25DD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x416D6F756E74206D757374206265203E203 PUSH1 0x74 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD CALLVALUE SWAP3 SWAP1 PUSH2 0x25FC SWAP1 DUP5 SWAP1 PUSH2 0x36EF JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP CALLVALUE PUSH1 0x8 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2615 SWAP2 SWAP1 PUSH2 0x36EF JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD CALLVALUE DUP2 MSTORE CALLER SWAP1 PUSH32 0x7FF07CE9A287649537E4B012E45CF012D90228B12E2B56BB03515A6B5436FCDF SWAP1 PUSH1 0x20 ADD PUSH2 0xB67 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x265F SWAP3 SWAP2 SWAP1 PUSH2 0x33D1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB SWAP1 SWAP2 KECCAK256 PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE KECCAK256 SLOAD SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x26AA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x3420 JUMP JUMPDEST PUSH2 0x26B2 PUSH2 0x2939 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x26FA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP4 SSTORE PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x5 OR SWAP1 SSTORE MLOAD SWAP4 SWAP1 SWAP3 AND SWAP3 SWAP1 SWAP2 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP PUSH2 0xB79 PUSH1 0x1 PUSH1 0x0 SSTORE JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xE0 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x60 PUSH1 0x20 DUP1 DUP5 ADD DUP3 SWAP1 MSTORE DUP4 DUP6 ADD DUP4 SWAP1 MSTORE SWAP1 DUP4 ADD DUP3 SWAP1 MSTORE PUSH1 0x80 DUP4 ADD DUP3 SWAP1 MSTORE PUSH1 0xA0 DUP4 ADD DUP3 SWAP1 MSTORE PUSH1 0xC0 DUP4 ADD DUP3 SWAP1 MSTORE DUP5 MLOAD DUP6 DUP3 ADD KECCAK256 DUP1 DUP4 MSTORE PUSH1 0x2 SWAP1 SWAP2 MSTORE SWAP3 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x27E5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x3444 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xE0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x281D SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2849 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2896 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x286B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2896 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2879 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x4 SWAP1 SWAP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0xFF PUSH1 0x1 PUSH1 0xA0 SHL DUP3 DIV DUP2 AND ISZERO ISZERO PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0x1 PUSH1 0xA8 SHL SWAP1 SWAP2 DIV AND ISZERO ISZERO PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x2937 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x14185D5CD8589B194E881C185D5CD959 PUSH1 0x82 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 SLOAD SUB PUSH2 0x298B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5265656E7472616E637947756172643A207265656E7472616E742063616C6C00 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 SSTORE JUMP JUMPDEST PUSH2 0x299A PUSH2 0x28F1 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0xFF NOT AND DUP2 OR SWAP1 SSTORE PUSH1 0x40 MLOAD CALLER DUP2 MSTORE PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 SWAP1 PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH2 0x29E4 PUSH2 0x2BC9 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD CALLER DUP2 MSTORE PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA SWAP1 PUSH1 0x20 ADD PUSH2 0x29D2 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP3 SUB PUSH2 0x2A51 JUMPI PUSH1 0x0 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2A48 JUMPI PUSH2 0x2A48 PUSH2 0x30A9 JUMP JUMPDEST EQ SWAP2 POP POP PUSH2 0x267A JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP3 SWAP1 PUSH2 0x2A64 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x33F7 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x2A74 JUMPI PUSH2 0x2A74 PUSH2 0x340A JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x6 SWAP1 SWAP2 MUL ADD SLOAD PUSH1 0xFF AND SWAP1 POP DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2A9C JUMPI PUSH2 0x2A9C PUSH2 0x30A9 JUMP JUMPDEST PUSH2 0x2AA7 SWAP1 PUSH1 0x1 PUSH2 0x36EF JUMP JUMPDEST DUP5 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2AB9 JUMPI PUSH2 0x2AB9 PUSH2 0x30A9 JUMP JUMPDEST EQ SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2AD8 JUMPI PUSH2 0x2AD8 PUSH2 0x30A9 JUMP JUMPDEST EQ DUP1 ISZERO PUSH2 0x2AF6 JUMPI POP PUSH1 0x1 DUP3 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x2AF4 JUMPI PUSH2 0x2AF4 PUSH2 0x30A9 JUMP JUMPDEST EQ JUMPDEST ISZERO PUSH2 0x2B03 JUMPI POP PUSH1 0x1 PUSH2 0x267A JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2B17 JUMPI PUSH2 0x2B17 PUSH2 0x30A9 JUMP JUMPDEST EQ DUP1 ISZERO PUSH2 0x2B35 JUMPI POP PUSH1 0x2 DUP3 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x2B33 JUMPI PUSH2 0x2B33 PUSH2 0x30A9 JUMP JUMPDEST EQ JUMPDEST ISZERO PUSH2 0x2B42 JUMPI POP PUSH1 0x1 PUSH2 0x267A JUMP JUMPDEST PUSH1 0x2 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2B56 JUMPI PUSH2 0x2B56 PUSH2 0x30A9 JUMP JUMPDEST EQ DUP1 ISZERO PUSH2 0x2B74 JUMPI POP PUSH1 0x3 DUP3 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x2B72 JUMPI PUSH2 0x2B72 PUSH2 0x30A9 JUMP JUMPDEST EQ JUMPDEST ISZERO PUSH2 0x2B81 JUMPI POP PUSH1 0x1 PUSH2 0x267A JUMP JUMPDEST PUSH1 0x3 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2B95 JUMPI PUSH2 0x2B95 PUSH2 0x30A9 JUMP JUMPDEST EQ DUP1 ISZERO PUSH2 0x2BB3 JUMPI POP PUSH1 0x4 DUP3 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x2BB1 JUMPI PUSH2 0x2BB1 PUSH2 0x30A9 JUMP JUMPDEST EQ JUMPDEST ISZERO PUSH2 0x2BC0 JUMPI POP PUSH1 0x1 PUSH2 0x267A JUMP JUMPDEST POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0xFF AND PUSH2 0x2937 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x14185D5CD8589B194E881B9BDD081C185D5CD959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP2 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x2C64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2C7C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0xAE3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2CA9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2CC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2CCC DUP7 DUP3 DUP8 ADD PUSH2 0x2C52 JUMP JUMPDEST SWAP1 SWAP8 SWAP1 SWAP7 POP PUSH1 0x20 SWAP6 SWAP1 SWAP6 ADD CALLDATALOAD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2CF2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2D0C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2D23 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D2F DUP6 DUP3 DUP7 ADD PUSH2 0x2C52 JUMP JUMPDEST SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D4D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x2D5D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x2D7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D92 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D5D DUP3 PUSH2 0x2D64 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2DC2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2DDD JUMPI PUSH2 0x2DDD PUSH2 0x2D9B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x2E05 JUMPI PUSH2 0x2E05 PUSH2 0x2D9B JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0x2E1E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x2E56 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH1 0x4 DUP2 LT PUSH2 0x2E6C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2E89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E95 DUP10 DUP4 DUP11 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2EAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2EB7 DUP10 DUP4 DUP11 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2ECD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2EDA DUP9 DUP3 DUP10 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x120 DUP11 DUP13 SUB SLT ISZERO PUSH2 0x2F06 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2F1E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2F2A DUP14 DUP4 DUP15 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP11 POP PUSH1 0x20 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2F40 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2F4C DUP14 DUP4 DUP15 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP10 POP PUSH1 0x40 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2F62 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2F6E DUP14 DUP4 DUP15 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP9 POP PUSH1 0x60 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2F84 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2F90 DUP14 DUP4 DUP15 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP8 POP PUSH1 0x80 DUP13 ADD CALLDATALOAD SWAP7 POP PUSH1 0xA0 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2FAD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2FB9 DUP14 DUP4 DUP15 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP6 POP PUSH1 0xC0 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2FCF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2FDB DUP14 DUP4 DUP15 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP5 POP PUSH1 0xE0 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2FF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2FFD DUP14 DUP4 DUP15 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP4 POP PUSH2 0x100 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3014 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3021 DUP13 DUP3 DUP14 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3043 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x305A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3066 DUP5 DUP3 DUP6 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3081 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x308A DUP4 PUSH2 0x2D64 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x6 DUP2 LT PUSH2 0x309E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0x30CF JUMPI PUSH2 0x30CF PUSH2 0x30A9 JUMP JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x30EE JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x30D6 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x310F DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x30D3 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x312E DUP3 DUP3 MLOAD PUSH2 0x30BF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0xC0 PUSH1 0x20 DUP6 ADD MSTORE PUSH2 0x3149 PUSH1 0xC0 DUP6 ADD DUP3 PUSH2 0x30F7 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x3162 DUP3 DUP3 PUSH2 0x30F7 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x80 DUP7 ADD MSTORE PUSH2 0x3186 DUP3 DUP3 PUSH2 0x30F7 JUMP JUMPDEST PUSH1 0xA0 SWAP5 DUP6 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP6 SWAP1 SWAP5 ADD SWAP5 SWAP1 SWAP5 MSTORE POP SWAP1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 DUP7 ADD SWAP2 POP PUSH1 0x40 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD SWAP3 POP DUP4 DUP8 ADD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x31FA JUMPI PUSH1 0x3F NOT DUP9 DUP7 SUB ADD DUP5 MSTORE PUSH2 0x31E8 DUP6 DUP4 MLOAD PUSH2 0x3123 JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x31CC JUMP JUMPDEST POP SWAP3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST DUP8 DUP2 MSTORE PUSH1 0xE0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x3220 PUSH1 0xE0 DUP4 ADD DUP10 PUSH2 0x30F7 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP8 SWAP1 SWAP8 MSTORE POP PUSH1 0x60 DUP2 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x80 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0xA0 DUP4 ADD MSTORE ISZERO ISZERO PUSH1 0xC0 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2D5D PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3123 JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH1 0x6 DUP4 LT PUSH2 0x327E JUMPI PUSH2 0x327E PUSH2 0x30A9 JUMP JUMPDEST SWAP2 SWAP1 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3297 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH2 0x32B0 DUP2 DUP9 PUSH2 0x30BF JUMP JUMPDEST PUSH1 0xC0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x32C6 PUSH1 0xC0 DUP4 ADD DUP9 PUSH2 0x30F7 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x32D8 DUP2 DUP9 PUSH2 0x30F7 JUMP JUMPDEST SWAP1 POP DUP6 PUSH1 0x60 DUP5 ADD MSTORE DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x32F2 DUP2 DUP7 PUSH2 0x30F7 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0xA0 DUP4 ADD MSTORE SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE DUP2 MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0xE0 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3335 PUSH2 0x100 DUP5 ADD DUP3 PUSH2 0x30F7 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x60 DUP5 ADD MLOAD PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB PUSH1 0x80 DUP6 ADD MLOAD AND PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xA0 DUP5 ADD MLOAD ISZERO ISZERO PUSH1 0xC0 DUP5 ADD MSTORE PUSH1 0xC0 DUP5 ADD MLOAD ISZERO ISZERO PUSH1 0xE0 DUP5 ADD MSTORE DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xE SWAP1 DUP3 ADD MSTORE PUSH14 0x139BDD08185D5D1A1BDC9A5E9959 PUSH1 0x92 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH16 0x4D616E64692F41646D696E206F6E6C79 PUSH1 0x80 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x267A JUMPI PUSH2 0x267A PUSH2 0x33E1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xA SWAP1 DUP3 ADD MSTORE PUSH10 0x27B7363C9037BBB732B9 PUSH1 0xB1 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH15 0x10985D18DA081B9BDD08199BDD5B99 PUSH1 0x8A SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x3481 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x2041 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x34EB JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x34C8 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x34E7 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x34D4 JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x350A JUMPI PUSH2 0x350A PUSH2 0x2D9B JUMP JUMPDEST PUSH2 0x351E DUP2 PUSH2 0x3518 DUP5 SLOAD PUSH2 0x346D JUMP JUMPDEST DUP5 PUSH2 0x34A1 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x3553 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x353B JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x34E7 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x3582 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x3563 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x35A0 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x35BA DUP2 DUP6 PUSH2 0x30BF JUMP JUMPDEST PUSH1 0x60 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x35D0 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x30F7 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x35E2 DUP2 DUP6 PUSH2 0x30F7 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH5 0x21B937B81D PUSH1 0xD9 SHL DUP2 MSTORE PUSH1 0x0 DUP6 MLOAD PUSH2 0x360C DUP2 PUSH1 0x5 DUP6 ADD PUSH1 0x20 DUP11 ADD PUSH2 0x30D3 JUMP JUMPDEST PUSH10 0x1D902430B93B32B9BA1D PUSH1 0xB1 SHL PUSH1 0x5 SWAP2 DUP5 ADD SWAP2 DUP3 ADD MSTORE DUP6 MLOAD PUSH2 0x3636 DUP2 PUSH1 0xF DUP5 ADD PUSH1 0x20 DUP11 ADD PUSH2 0x30D3 JUMP JUMPDEST PUSH13 0x1D902330B936B2B920B232391D PUSH1 0x99 SHL PUSH1 0xF SWAP3 SWAP1 SWAP2 ADD SWAP2 DUP3 ADD MSTORE DUP5 MLOAD PUSH2 0x3664 DUP2 PUSH1 0x1C DUP5 ADD PUSH1 0x20 DUP10 ADD PUSH2 0x30D3 JUMP JUMPDEST PUSH7 0x1D9021B2B93A1D PUSH1 0xC9 SHL PUSH1 0x1C SWAP3 SWAP1 SWAP2 ADD SWAP2 DUP3 ADD MSTORE DUP4 MLOAD PUSH2 0x368C DUP2 PUSH1 0x23 DUP5 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x30D3 JUMP JUMPDEST ADD PUSH1 0x23 ADD SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x36AD PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x30F7 JUMP JUMPDEST SWAP1 POP DUP3 PUSH1 0x20 DUP4 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x36CE DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x30D3 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x267A JUMPI PUSH2 0x267A PUSH2 0x33E1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x267A JUMPI PUSH2 0x267A PUSH2 0x33E1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x3711 JUMPI PUSH2 0x3711 PUSH2 0x33E1 JUMP JUMPDEST POP PUSH1 0x0 NOT ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3736 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 INVALID 0xEF 0x4E PUSH30 0x83F8056607B8E16CC35D26DA52D1E6C2CCDAF24D0D9BAA7268392CA26473 PUSH16 0x6C634300081300330000000000000000 ","sourceMap":"134:14766:0:-:0;;;3142:94;;;;;;;;;-1:-1:-1;217:1:3;322:7;:22;;;287:15:2;;-1:-1:-1;;287:15:2;;;;;;3166:5:0;:18;;3174:10;-1:-1:-1;;;;;;3166:18:0;;;;;;;;3194:17;;:5;:17;;;;;:35;;;;;3214:15;3194:35;;;134:14766;;;;;;"},"deployedBytecode":{"functionDebugData":{"@DEFAULT_TWAP_WINDOW_89":{"entryPoint":null,"id":89,"parameterSlots":0,"returnSlots":0},"@_canUpdate_367":{"entryPoint":10947,"id":367,"parameterSlots":2,"returnSlots":1},"@_isNextStage_421":{"entryPoint":10782,"id":421,"parameterSlots":2,"returnSlots":1},"@_nonReentrantAfter_1647":{"entryPoint":null,"id":1647,"parameterSlots":0,"returnSlots":0},"@_nonReentrantBefore_1639":{"entryPoint":10553,"id":1639,"parameterSlots":0,"returnSlots":0},"@_pause_1580":{"entryPoint":10642,"id":1580,"parameterSlots":0,"returnSlots":0},"@_requireNotPaused_1556":{"entryPoint":10481,"id":1556,"parameterSlots":0,"returnSlots":0},"@_requirePaused_1565":{"entryPoint":11209,"id":1565,"parameterSlots":0,"returnSlots":0},"@_toBatchHash_305":{"entryPoint":null,"id":305,"parameterSlots":1,"returnSlots":1},"@_unpause_1595":{"entryPoint":10716,"id":1595,"parameterSlots":0,"returnSlots":0},"@allBatchIds_72":{"entryPoint":2940,"id":72,"parameterSlots":0,"returnSlots":0},"@batchUpdates_64":{"entryPoint":8263,"id":64,"parameterSlots":0,"returnSlots":0},"@createBatch_599":{"entryPoint":3926,"id":599,"parameterSlots":9,"returnSlots":0},"@cropBatches_58":{"entryPoint":6538,"id":58,"parameterSlots":0,"returnSlots":0},"@depositLiquidity_785":{"entryPoint":9447,"id":785,"parameterSlots":0,"returnSlots":0},"@getBatchCount_1327":{"entryPoint":null,"id":1327,"parameterSlots":0,"returnSlots":1},"@getBatchIdByIndex_1347":{"entryPoint":7485,"id":1347,"parameterSlots":1,"returnSlots":1},"@getBatchUpdatesById_1226":{"entryPoint":5848,"id":1226,"parameterSlots":1,"returnSlots":1},"@getBatchUpdates_1198":{"entryPoint":7590,"id":1198,"parameterSlots":1,"returnSlots":1},"@getBatch_1181":{"entryPoint":10093,"id":1181,"parameterSlots":1,"returnSlots":1},"@getLatestSpotPrice_994":{"entryPoint":2598,"id":994,"parameterSlots":2,"returnSlots":2},"@getLatestUpdateById_1309":{"entryPoint":6754,"id":1309,"parameterSlots":1,"returnSlots":1},"@getLatestUpdate_1262":{"entryPoint":8770,"id":1262,"parameterSlots":1,"returnSlots":1},"@getPriceObservationCount_942":{"entryPoint":9804,"id":942,"parameterSlots":2,"returnSlots":1},"@getTotalBatches_1318":{"entryPoint":null,"id":1318,"parameterSlots":0,"returnSlots":1},"@getTwapPrice_1154":{"entryPoint":8909,"id":1154,"parameterSlots":3,"returnSlots":1},"@mandiLiquidity_78":{"entryPoint":null,"id":78,"parameterSlots":0,"returnSlots":0},"@owner_74":{"entryPoint":null,"id":74,"parameterSlots":0,"returnSlots":0},"@paused_1546":{"entryPoint":null,"id":1546,"parameterSlots":0,"returnSlots":1},"@recallBatch_745":{"entryPoint":5283,"id":745,"parameterSlots":1,"returnSlots":0},"@roles_69":{"entryPoint":null,"id":69,"parameterSlots":0,"returnSlots":0},"@setPaused_1413":{"entryPoint":2794,"id":1413,"parameterSlots":1,"returnSlots":0},"@setRole_290":{"entryPoint":5511,"id":290,"parameterSlots":2,"returnSlots":0},"@submitSpotPrice_920":{"entryPoint":1483,"id":920,"parameterSlots":3,"returnSlots":0},"@totalLiquidity_80":{"entryPoint":null,"id":80,"parameterSlots":0,"returnSlots":0},"@transferOwnership_1387":{"entryPoint":9856,"id":1387,"parameterSlots":1,"returnSlots":0},"@updateBatch_708":{"entryPoint":2973,"id":708,"parameterSlots":5,"returnSlots":0},"@withdrawLiquidity_857":{"entryPoint":2004,"id":857,"parameterSlots":1,"returnSlots":0},"abi_decode_address":{"entryPoint":11620,"id":null,"parameterSlots":1,"returnSlots":1},"abi_decode_string":{"entryPoint":11697,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_string_calldata":{"entryPoint":11346,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_address":{"entryPoint":11648,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_addresst_enum$_ActorRole_$19":{"entryPoint":12398,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_bool":{"entryPoint":11579,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_bytes32t_enum$_Stage_$12t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr":{"entryPoint":11838,"id":null,"parameterSlots":2,"returnSlots":5},"abi_decode_tuple_t_bytes32t_uint256":{"entryPoint":12932,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_string_calldata_ptr":{"entryPoint":11513,"id":null,"parameterSlots":2,"returnSlots":2},"abi_decode_tuple_t_string_calldata_ptrt_uint256":{"entryPoint":11412,"id":null,"parameterSlots":2,"returnSlots":3},"abi_decode_tuple_t_string_memory_ptr":{"entryPoint":12337,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_uint256t_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_string_memory_ptr":{"entryPoint":12007,"id":null,"parameterSlots":2,"returnSlots":9},"abi_decode_tuple_t_uint256":{"entryPoint":11488,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_enum_Stage":{"entryPoint":12479,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_string":{"entryPoint":12535,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_struct_SupplyChainUpdate":{"entryPoint":12579,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":13265,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_string_calldata_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":14012,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_8f5768c0b35d831c84e5fc6fd3ab7119cfd8730024de763aa6075843c559758f_t_string_memory_ptr_t_stringliteral_af18909f0959c5cf9bc8d471cf99331a51f729dfa2dbfd6adb9e95018e34d33e_t_string_memory_ptr_t_stringliteral_f86b0ef76ea68879519c38b93596c686d665b7a3ae754a0c3a12f8894d70ff31_t_string_memory_ptr_t_stringliteral_791a5de3ff11c5bbe83406d7b1fc01d759d4dbf64786d51bc05408382d1f6b13_t_string_memory_ptr__to_t_bytes5_t_string_memory_ptr_t_bytes10_t_string_memory_ptr_t_bytes13_t_string_memory_ptr_t_bytes7_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":13804,"id":null,"parameterSlots":5,"returnSlots":1},"abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_address__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_array$_t_struct$_SupplyChainUpdate_$48_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_SupplyChainUpdate_$48_memory_ptr_$dyn_memory_ptr__fromStack_reversed":{"entryPoint":12709,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_bytes32_t_string_memory_ptr_t_uint256_t_uint256_t_address_t_bool_t_bool__to_t_bytes32_t_string_memory_ptr_t_uint256_t_uint256_t_address_t_bool_t_bool__fromStack_reversed":{"entryPoint":12807,"id":null,"parameterSlots":8,"returnSlots":1},"abi_encode_tuple_t_enum$_ActorRole_$19__to_t_uint8__fromStack_reversed":{"entryPoint":12906,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_enum$_Stage_$12_t_string_memory_ptr_t_string_memory_ptr__to_t_uint8_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed":{"entryPoint":13744,"id":null,"parameterSlots":4,"returnSlots":1},"abi_encode_tuple_t_enum$_Stage_$12_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_string_memory_ptr_t_address__to_t_uint8_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_string_memory_ptr_t_address__fromStack_reversed":{"entryPoint":12966,"id":null,"parameterSlots":7,"returnSlots":1},"abi_encode_tuple_t_string_memory_ptr_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed":{"entryPoint":13978,"id":null,"parameterSlots":3,"returnSlots":1},"abi_encode_tuple_t_stringliteral_006908ac2e31e70e19cca8192e8298f9fb3fb6c497357599ad70cd2f453e787b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_01c242f1c806840acb94ec05d87d4647010419c53a053a581e0026b3f6467dbb__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0256b2f79971b33d79a70471e25342b40a29973a9924f7bf65b61d253cc5e2ad__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_17d9f114efaa93d67eedad749dd7fd16a6895ff93e28b7a30c667a069f2ed42d__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":13344,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_1b6b7ea1ca601eedacaf5021d2f04292cf19df119f1635d866f2b5c9b71440a1__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_252cb7a172bac3f6ced5e82b4e7e4ae614f888a2d313e753a0adcf25515cc612__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_25adaa6d082ce15f901e0d8a3d393e7462ef9edf2e6bc8321fa14d1615b6fc51__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_29b48ae655aa3ee2f7612336d700663183d24df877fd7c5da8ae0435034680f0__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_33e65c68a0e23542ed47484f739b4ff98552fc42d3ba896a57bf56a118ff8c50__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_36435f17e62e176b853e8c37716e51b74bf692c7f7df8628db24bf070e8367ad__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_3e7676fc822bc9ef2dfbd8c8fd79eba63804a5a8cfafeeca5f62de50f5afcffa__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_45cfc403798a12f528b4df18b8fbca10a33453a1a7a9e4ea48592d76a9c646f1__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_47226bf13fa32a8d7a11b9f8ba5ea922b2db352b2e0bd21f8a5ff59908f8ae4a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":13223,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_767e2ea53fc139199379fc937e49b7731ae29e48f66e332570ea39eac372a344__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_76df2ccd6b3e6069462d14ca80504c97024ffda893e6beeeecfb45757e65c5f6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_80fbdea07b4ab11d5e8f9f94f5a7289787e0001fa0f855eae1f185f72c015830__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_810c256df7e5d41acbd662e3c3b0be249f9bd6cf5f43ceb24d1d9f9faad3dc2a__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_981f2ffe11689b3b7d7ac1e8cc477cc12f592477f4819e25b64688f4dd38b177__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_b41949acbaaf353c3b06db4eca325fcb904a9e2f00e4b04e99aa82cd9a4ff9ce__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_d2f2d38fac74ec1644b7e8e745a95f6a90a3df55c76b9ac70569cffd9e094123__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_da72169ad4f66a2268f3d0d6f19f1623cafa7e891cd0021980bf75380555fddd__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":13380,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_de6f6fc78129cdf79b4d965b64fbf03531bcfdd1d0b5e1bcd4e0e8de5507fff6__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_e351eac8ef6275f0329dbcfc313aa1c3eba7ec2652eed0b435157058bdebbd8b__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_ef49152423528776437b09295e6753738a761ef844bbae45657eb2b302cd6b35__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_fa44d436dbe876b1dbd642d3d9a35305a5428d9ec35e142e267c3b41cd98a2fa__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":13183,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_struct$_CropBatch_$34_memory_ptr__to_t_struct$_CropBatch_$34_memory_ptr__fromStack_reversed":{"entryPoint":13070,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_struct$_SupplyChainUpdate_$48_memory_ptr__to_t_struct$_SupplyChainUpdate_$48_memory_ptr__fromStack_reversed":{"entryPoint":12887,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":3,"returnSlots":1},"array_dataslot_string_storage":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":14063,"id":null,"parameterSlots":2,"returnSlots":1},"checked_div_t_uint256":{"entryPoint":14105,"id":null,"parameterSlots":2,"returnSlots":1},"checked_mul_t_uint256":{"entryPoint":14040,"id":null,"parameterSlots":2,"returnSlots":1},"checked_sub_t_uint256":{"entryPoint":13303,"id":null,"parameterSlots":2,"returnSlots":1},"clean_up_bytearray_end_slots_string_storage":{"entryPoint":13473,"id":null,"parameterSlots":3,"returnSlots":0},"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage":{"entryPoint":13552,"id":null,"parameterSlots":2,"returnSlots":0},"copy_memory_to_memory_with_cleanup":{"entryPoint":12499,"id":null,"parameterSlots":3,"returnSlots":0},"decrement_t_uint256":{"entryPoint":14082,"id":null,"parameterSlots":1,"returnSlots":1},"extract_byte_array_length":{"entryPoint":13421,"id":null,"parameterSlots":1,"returnSlots":1},"extract_used_part_and_set_length_of_short_byte_array":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"panic_error_0x11":{"entryPoint":13281,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x21":{"entryPoint":12457,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":13322,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":11675,"id":null,"parameterSlots":0,"returnSlots":0}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:30591:5","statements":[{"nodeType":"YulBlock","src":"6:3:5","statements":[]},{"body":{"nodeType":"YulBlock","src":"87:275:5","statements":[{"body":{"nodeType":"YulBlock","src":"136:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"145:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"148:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"138:6:5"},"nodeType":"YulFunctionCall","src":"138:12:5"},"nodeType":"YulExpressionStatement","src":"138:12:5"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"115:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"123:4:5","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"111:3:5"},"nodeType":"YulFunctionCall","src":"111:17:5"},{"name":"end","nodeType":"YulIdentifier","src":"130:3:5"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"107:3:5"},"nodeType":"YulFunctionCall","src":"107:27:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"100:6:5"},"nodeType":"YulFunctionCall","src":"100:35:5"},"nodeType":"YulIf","src":"97:55:5"},{"nodeType":"YulAssignment","src":"161:30:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"184:6:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"171:12:5"},"nodeType":"YulFunctionCall","src":"171:20:5"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"161:6:5"}]},{"body":{"nodeType":"YulBlock","src":"234:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"243:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"246:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"236:6:5"},"nodeType":"YulFunctionCall","src":"236:12:5"},"nodeType":"YulExpressionStatement","src":"236:12:5"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"206:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"214:18:5","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"203:2:5"},"nodeType":"YulFunctionCall","src":"203:30:5"},"nodeType":"YulIf","src":"200:50:5"},{"nodeType":"YulAssignment","src":"259:29:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"275:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"283:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"271:3:5"},"nodeType":"YulFunctionCall","src":"271:17:5"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"259:8:5"}]},{"body":{"nodeType":"YulBlock","src":"340:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"349:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"352:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"342:6:5"},"nodeType":"YulFunctionCall","src":"342:12:5"},"nodeType":"YulExpressionStatement","src":"342:12:5"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"311:6:5"},{"name":"length","nodeType":"YulIdentifier","src":"319:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"307:3:5"},"nodeType":"YulFunctionCall","src":"307:19:5"},{"kind":"number","nodeType":"YulLiteral","src":"328:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"303:3:5"},"nodeType":"YulFunctionCall","src":"303:30:5"},{"name":"end","nodeType":"YulIdentifier","src":"335:3:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"300:2:5"},"nodeType":"YulFunctionCall","src":"300:39:5"},"nodeType":"YulIf","src":"297:59:5"}]},"name":"abi_decode_string_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"50:6:5","type":""},{"name":"end","nodeType":"YulTypedName","src":"58:3:5","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"66:8:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"76:6:5","type":""}],"src":"14:348:5"},{"body":{"nodeType":"YulBlock","src":"474:372:5","statements":[{"body":{"nodeType":"YulBlock","src":"520:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"529:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"532:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"522:6:5"},"nodeType":"YulFunctionCall","src":"522:12:5"},"nodeType":"YulExpressionStatement","src":"522:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"495:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"504:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"491:3:5"},"nodeType":"YulFunctionCall","src":"491:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"516:2:5","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"487:3:5"},"nodeType":"YulFunctionCall","src":"487:32:5"},"nodeType":"YulIf","src":"484:52:5"},{"nodeType":"YulVariableDeclaration","src":"545:37:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"572:9:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"559:12:5"},"nodeType":"YulFunctionCall","src":"559:23:5"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"549:6:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"625:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"634:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"637:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"627:6:5"},"nodeType":"YulFunctionCall","src":"627:12:5"},"nodeType":"YulExpressionStatement","src":"627:12:5"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"597:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"605:18:5","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"594:2:5"},"nodeType":"YulFunctionCall","src":"594:30:5"},"nodeType":"YulIf","src":"591:50:5"},{"nodeType":"YulVariableDeclaration","src":"650:85:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"707:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"718:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"703:3:5"},"nodeType":"YulFunctionCall","src":"703:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"727:7:5"}],"functionName":{"name":"abi_decode_string_calldata","nodeType":"YulIdentifier","src":"676:26:5"},"nodeType":"YulFunctionCall","src":"676:59:5"},"variables":[{"name":"value0_1","nodeType":"YulTypedName","src":"654:8:5","type":""},{"name":"value1_1","nodeType":"YulTypedName","src":"664:8:5","type":""}]},{"nodeType":"YulAssignment","src":"744:18:5","value":{"name":"value0_1","nodeType":"YulIdentifier","src":"754:8:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"744:6:5"}]},{"nodeType":"YulAssignment","src":"771:18:5","value":{"name":"value1_1","nodeType":"YulIdentifier","src":"781:8:5"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"771:6:5"}]},{"nodeType":"YulAssignment","src":"798:42:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"825:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"836:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"821:3:5"},"nodeType":"YulFunctionCall","src":"821:18:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"808:12:5"},"nodeType":"YulFunctionCall","src":"808:32:5"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"798:6:5"}]}]},"name":"abi_decode_tuple_t_string_calldata_ptrt_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"424:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"435:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"447:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"455:6:5","type":""},{"name":"value2","nodeType":"YulTypedName","src":"463:6:5","type":""}],"src":"367:479:5"},{"body":{"nodeType":"YulBlock","src":"921:110:5","statements":[{"body":{"nodeType":"YulBlock","src":"967:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"976:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"979:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"969:6:5"},"nodeType":"YulFunctionCall","src":"969:12:5"},"nodeType":"YulExpressionStatement","src":"969:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"942:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"951:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"938:3:5"},"nodeType":"YulFunctionCall","src":"938:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"963:2:5","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"934:3:5"},"nodeType":"YulFunctionCall","src":"934:32:5"},"nodeType":"YulIf","src":"931:52:5"},{"nodeType":"YulAssignment","src":"992:33:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1015:9:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1002:12:5"},"nodeType":"YulFunctionCall","src":"1002:23:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"992:6:5"}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"887:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"898:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"910:6:5","type":""}],"src":"851:180:5"},{"body":{"nodeType":"YulBlock","src":"1126:321:5","statements":[{"body":{"nodeType":"YulBlock","src":"1172:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1181:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1184:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1174:6:5"},"nodeType":"YulFunctionCall","src":"1174:12:5"},"nodeType":"YulExpressionStatement","src":"1174:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1147:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"1156:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1143:3:5"},"nodeType":"YulFunctionCall","src":"1143:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"1168:2:5","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1139:3:5"},"nodeType":"YulFunctionCall","src":"1139:32:5"},"nodeType":"YulIf","src":"1136:52:5"},{"nodeType":"YulVariableDeclaration","src":"1197:37:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1224:9:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1211:12:5"},"nodeType":"YulFunctionCall","src":"1211:23:5"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1201:6:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"1277:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1286:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1289:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1279:6:5"},"nodeType":"YulFunctionCall","src":"1279:12:5"},"nodeType":"YulExpressionStatement","src":"1279:12:5"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1249:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"1257:18:5","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1246:2:5"},"nodeType":"YulFunctionCall","src":"1246:30:5"},"nodeType":"YulIf","src":"1243:50:5"},{"nodeType":"YulVariableDeclaration","src":"1302:85:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1359:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"1370:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1355:3:5"},"nodeType":"YulFunctionCall","src":"1355:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1379:7:5"}],"functionName":{"name":"abi_decode_string_calldata","nodeType":"YulIdentifier","src":"1328:26:5"},"nodeType":"YulFunctionCall","src":"1328:59:5"},"variables":[{"name":"value0_1","nodeType":"YulTypedName","src":"1306:8:5","type":""},{"name":"value1_1","nodeType":"YulTypedName","src":"1316:8:5","type":""}]},{"nodeType":"YulAssignment","src":"1396:18:5","value":{"name":"value0_1","nodeType":"YulIdentifier","src":"1406:8:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1396:6:5"}]},{"nodeType":"YulAssignment","src":"1423:18:5","value":{"name":"value1_1","nodeType":"YulIdentifier","src":"1433:8:5"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1423:6:5"}]}]},"name":"abi_decode_tuple_t_string_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1084:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1095:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1107:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1115:6:5","type":""}],"src":"1036:411:5"},{"body":{"nodeType":"YulBlock","src":"1581:119:5","statements":[{"nodeType":"YulAssignment","src":"1591:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1603:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"1614:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1599:3:5"},"nodeType":"YulFunctionCall","src":"1599:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1591:4:5"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1633:9:5"},{"name":"value0","nodeType":"YulIdentifier","src":"1644:6:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1626:6:5"},"nodeType":"YulFunctionCall","src":"1626:25:5"},"nodeType":"YulExpressionStatement","src":"1626:25:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1671:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"1682:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1667:3:5"},"nodeType":"YulFunctionCall","src":"1667:18:5"},{"name":"value1","nodeType":"YulIdentifier","src":"1687:6:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1660:6:5"},"nodeType":"YulFunctionCall","src":"1660:34:5"},"nodeType":"YulExpressionStatement","src":"1660:34:5"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1542:9:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1553:6:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1561:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1572:4:5","type":""}],"src":"1452:248:5"},{"body":{"nodeType":"YulBlock","src":"1806:76:5","statements":[{"nodeType":"YulAssignment","src":"1816:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1828:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"1839:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1824:3:5"},"nodeType":"YulFunctionCall","src":"1824:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1816:4:5"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1858:9:5"},{"name":"value0","nodeType":"YulIdentifier","src":"1869:6:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1851:6:5"},"nodeType":"YulFunctionCall","src":"1851:25:5"},"nodeType":"YulExpressionStatement","src":"1851:25:5"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1775:9:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1786:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1797:4:5","type":""}],"src":"1705:177:5"},{"body":{"nodeType":"YulBlock","src":"1954:206:5","statements":[{"body":{"nodeType":"YulBlock","src":"2000:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2009:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2012:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2002:6:5"},"nodeType":"YulFunctionCall","src":"2002:12:5"},"nodeType":"YulExpressionStatement","src":"2002:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1975:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"1984:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1971:3:5"},"nodeType":"YulFunctionCall","src":"1971:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"1996:2:5","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1967:3:5"},"nodeType":"YulFunctionCall","src":"1967:32:5"},"nodeType":"YulIf","src":"1964:52:5"},{"nodeType":"YulVariableDeclaration","src":"2025:36:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2051:9:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2038:12:5"},"nodeType":"YulFunctionCall","src":"2038:23:5"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"2029:5:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"2114:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2123:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2126:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2116:6:5"},"nodeType":"YulFunctionCall","src":"2116:12:5"},"nodeType":"YulExpressionStatement","src":"2116:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2083:5:5"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2104:5:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2097:6:5"},"nodeType":"YulFunctionCall","src":"2097:13:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2090:6:5"},"nodeType":"YulFunctionCall","src":"2090:21:5"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2080:2:5"},"nodeType":"YulFunctionCall","src":"2080:32:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2073:6:5"},"nodeType":"YulFunctionCall","src":"2073:40:5"},"nodeType":"YulIf","src":"2070:60:5"},{"nodeType":"YulAssignment","src":"2139:15:5","value":{"name":"value","nodeType":"YulIdentifier","src":"2149:5:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2139:6:5"}]}]},"name":"abi_decode_tuple_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1920:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1931:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1943:6:5","type":""}],"src":"1887:273:5"},{"body":{"nodeType":"YulBlock","src":"2266:76:5","statements":[{"nodeType":"YulAssignment","src":"2276:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2288:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"2299:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2284:3:5"},"nodeType":"YulFunctionCall","src":"2284:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"2276:4:5"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2318:9:5"},{"name":"value0","nodeType":"YulIdentifier","src":"2329:6:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2311:6:5"},"nodeType":"YulFunctionCall","src":"2311:25:5"},"nodeType":"YulExpressionStatement","src":"2311:25:5"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2235:9:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"2246:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"2257:4:5","type":""}],"src":"2165:177:5"},{"body":{"nodeType":"YulBlock","src":"2396:124:5","statements":[{"nodeType":"YulAssignment","src":"2406:29:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2428:6:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2415:12:5"},"nodeType":"YulFunctionCall","src":"2415:20:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"2406:5:5"}]},{"body":{"nodeType":"YulBlock","src":"2498:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2507:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2510:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2500:6:5"},"nodeType":"YulFunctionCall","src":"2500:12:5"},"nodeType":"YulExpressionStatement","src":"2500:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2457:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2468:5:5"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2483:3:5","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"2488:1:5","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2479:3:5"},"nodeType":"YulFunctionCall","src":"2479:11:5"},{"kind":"number","nodeType":"YulLiteral","src":"2492:1:5","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2475:3:5"},"nodeType":"YulFunctionCall","src":"2475:19:5"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"2464:3:5"},"nodeType":"YulFunctionCall","src":"2464:31:5"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"2454:2:5"},"nodeType":"YulFunctionCall","src":"2454:42:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2447:6:5"},"nodeType":"YulFunctionCall","src":"2447:50:5"},"nodeType":"YulIf","src":"2444:70:5"}]},"name":"abi_decode_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2375:6:5","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"2386:5:5","type":""}],"src":"2347:173:5"},{"body":{"nodeType":"YulBlock","src":"2595:116:5","statements":[{"body":{"nodeType":"YulBlock","src":"2641:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2650:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2653:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2643:6:5"},"nodeType":"YulFunctionCall","src":"2643:12:5"},"nodeType":"YulExpressionStatement","src":"2643:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2616:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"2625:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2612:3:5"},"nodeType":"YulFunctionCall","src":"2612:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"2637:2:5","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2608:3:5"},"nodeType":"YulFunctionCall","src":"2608:32:5"},"nodeType":"YulIf","src":"2605:52:5"},{"nodeType":"YulAssignment","src":"2666:39:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2695:9:5"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"2676:18:5"},"nodeType":"YulFunctionCall","src":"2676:29:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2666:6:5"}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2561:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2572:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2584:6:5","type":""}],"src":"2525:186:5"},{"body":{"nodeType":"YulBlock","src":"2748:95:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2765:1:5","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2772:3:5","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"2777:10:5","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"2768:3:5"},"nodeType":"YulFunctionCall","src":"2768:20:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2758:6:5"},"nodeType":"YulFunctionCall","src":"2758:31:5"},"nodeType":"YulExpressionStatement","src":"2758:31:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2805:1:5","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"2808:4:5","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2798:6:5"},"nodeType":"YulFunctionCall","src":"2798:15:5"},"nodeType":"YulExpressionStatement","src":"2798:15:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2829:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2832:4:5","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2822:6:5"},"nodeType":"YulFunctionCall","src":"2822:15:5"},"nodeType":"YulExpressionStatement","src":"2822:15:5"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"2716:127:5"},{"body":{"nodeType":"YulBlock","src":"2901:666:5","statements":[{"body":{"nodeType":"YulBlock","src":"2950:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2959:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2962:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2952:6:5"},"nodeType":"YulFunctionCall","src":"2952:12:5"},"nodeType":"YulExpressionStatement","src":"2952:12:5"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2929:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"2937:4:5","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2925:3:5"},"nodeType":"YulFunctionCall","src":"2925:17:5"},{"name":"end","nodeType":"YulIdentifier","src":"2944:3:5"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2921:3:5"},"nodeType":"YulFunctionCall","src":"2921:27:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"2914:6:5"},"nodeType":"YulFunctionCall","src":"2914:35:5"},"nodeType":"YulIf","src":"2911:55:5"},{"nodeType":"YulVariableDeclaration","src":"2975:30:5","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2998:6:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2985:12:5"},"nodeType":"YulFunctionCall","src":"2985:20:5"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"2979:2:5","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3014:28:5","value":{"kind":"number","nodeType":"YulLiteral","src":"3024:18:5","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"3018:2:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"3065:22:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"3067:16:5"},"nodeType":"YulFunctionCall","src":"3067:18:5"},"nodeType":"YulExpressionStatement","src":"3067:18:5"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"3057:2:5"},{"name":"_2","nodeType":"YulIdentifier","src":"3061:2:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3054:2:5"},"nodeType":"YulFunctionCall","src":"3054:10:5"},"nodeType":"YulIf","src":"3051:36:5"},{"nodeType":"YulVariableDeclaration","src":"3096:17:5","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3110:2:5","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"3106:3:5"},"nodeType":"YulFunctionCall","src":"3106:7:5"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"3100:2:5","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3122:23:5","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3142:2:5","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3136:5:5"},"nodeType":"YulFunctionCall","src":"3136:9:5"},"variables":[{"name":"memPtr","nodeType":"YulTypedName","src":"3126:6:5","type":""}]},{"nodeType":"YulVariableDeclaration","src":"3154:71:5","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3176:6:5"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"3200:2:5"},{"kind":"number","nodeType":"YulLiteral","src":"3204:4:5","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3196:3:5"},"nodeType":"YulFunctionCall","src":"3196:13:5"},{"name":"_3","nodeType":"YulIdentifier","src":"3211:2:5"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3192:3:5"},"nodeType":"YulFunctionCall","src":"3192:22:5"},{"kind":"number","nodeType":"YulLiteral","src":"3216:2:5","type":"","value":"63"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3188:3:5"},"nodeType":"YulFunctionCall","src":"3188:31:5"},{"name":"_3","nodeType":"YulIdentifier","src":"3221:2:5"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"3184:3:5"},"nodeType":"YulFunctionCall","src":"3184:40:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3172:3:5"},"nodeType":"YulFunctionCall","src":"3172:53:5"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"3158:10:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"3284:22:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"3286:16:5"},"nodeType":"YulFunctionCall","src":"3286:18:5"},"nodeType":"YulExpressionStatement","src":"3286:18:5"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3243:10:5"},{"name":"_2","nodeType":"YulIdentifier","src":"3255:2:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3240:2:5"},"nodeType":"YulFunctionCall","src":"3240:18:5"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3263:10:5"},{"name":"memPtr","nodeType":"YulIdentifier","src":"3275:6:5"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3260:2:5"},"nodeType":"YulFunctionCall","src":"3260:22:5"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"3237:2:5"},"nodeType":"YulFunctionCall","src":"3237:46:5"},"nodeType":"YulIf","src":"3234:72:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3322:2:5","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"3326:10:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3315:6:5"},"nodeType":"YulFunctionCall","src":"3315:22:5"},"nodeType":"YulExpressionStatement","src":"3315:22:5"},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3353:6:5"},{"name":"_1","nodeType":"YulIdentifier","src":"3361:2:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3346:6:5"},"nodeType":"YulFunctionCall","src":"3346:18:5"},"nodeType":"YulExpressionStatement","src":"3346:18:5"},{"body":{"nodeType":"YulBlock","src":"3412:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3421:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3424:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3414:6:5"},"nodeType":"YulFunctionCall","src":"3414:12:5"},"nodeType":"YulExpressionStatement","src":"3414:12:5"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3387:6:5"},{"name":"_1","nodeType":"YulIdentifier","src":"3395:2:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3383:3:5"},"nodeType":"YulFunctionCall","src":"3383:15:5"},{"kind":"number","nodeType":"YulLiteral","src":"3400:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3379:3:5"},"nodeType":"YulFunctionCall","src":"3379:26:5"},{"name":"end","nodeType":"YulIdentifier","src":"3407:3:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3376:2:5"},"nodeType":"YulFunctionCall","src":"3376:35:5"},"nodeType":"YulIf","src":"3373:55:5"},{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3454:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"3462:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3450:3:5"},"nodeType":"YulFunctionCall","src":"3450:17:5"},{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3473:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"3481:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3469:3:5"},"nodeType":"YulFunctionCall","src":"3469:17:5"},{"name":"_1","nodeType":"YulIdentifier","src":"3488:2:5"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"3437:12:5"},"nodeType":"YulFunctionCall","src":"3437:54:5"},"nodeType":"YulExpressionStatement","src":"3437:54:5"},{"expression":{"arguments":[{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"3515:6:5"},{"name":"_1","nodeType":"YulIdentifier","src":"3523:2:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3511:3:5"},"nodeType":"YulFunctionCall","src":"3511:15:5"},{"kind":"number","nodeType":"YulLiteral","src":"3528:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3507:3:5"},"nodeType":"YulFunctionCall","src":"3507:26:5"},{"kind":"number","nodeType":"YulLiteral","src":"3535:1:5","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3500:6:5"},"nodeType":"YulFunctionCall","src":"3500:37:5"},"nodeType":"YulExpressionStatement","src":"3500:37:5"},{"nodeType":"YulAssignment","src":"3546:15:5","value":{"name":"memPtr","nodeType":"YulIdentifier","src":"3555:6:5"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"3546:5:5"}]}]},"name":"abi_decode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"2875:6:5","type":""},{"name":"end","nodeType":"YulTypedName","src":"2883:3:5","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"2891:5:5","type":""}],"src":"2848:719:5"},{"body":{"nodeType":"YulBlock","src":"3748:789:5","statements":[{"body":{"nodeType":"YulBlock","src":"3795:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3804:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3807:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3797:6:5"},"nodeType":"YulFunctionCall","src":"3797:12:5"},"nodeType":"YulExpressionStatement","src":"3797:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3769:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"3778:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3765:3:5"},"nodeType":"YulFunctionCall","src":"3765:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"3790:3:5","type":"","value":"160"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3761:3:5"},"nodeType":"YulFunctionCall","src":"3761:33:5"},"nodeType":"YulIf","src":"3758:53:5"},{"nodeType":"YulAssignment","src":"3820:33:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3843:9:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3830:12:5"},"nodeType":"YulFunctionCall","src":"3830:23:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3820:6:5"}]},{"nodeType":"YulVariableDeclaration","src":"3862:45:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3892:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"3903:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3888:3:5"},"nodeType":"YulFunctionCall","src":"3888:18:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3875:12:5"},"nodeType":"YulFunctionCall","src":"3875:32:5"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"3866:5:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"3940:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3949:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3952:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3942:6:5"},"nodeType":"YulFunctionCall","src":"3942:12:5"},"nodeType":"YulExpressionStatement","src":"3942:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3929:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"3936:1:5","type":"","value":"4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"3926:2:5"},"nodeType":"YulFunctionCall","src":"3926:12:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"3919:6:5"},"nodeType":"YulFunctionCall","src":"3919:20:5"},"nodeType":"YulIf","src":"3916:40:5"},{"nodeType":"YulAssignment","src":"3965:15:5","value":{"name":"value","nodeType":"YulIdentifier","src":"3975:5:5"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"3965:6:5"}]},{"nodeType":"YulVariableDeclaration","src":"3989:46:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4020:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"4031:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4016:3:5"},"nodeType":"YulFunctionCall","src":"4016:18:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4003:12:5"},"nodeType":"YulFunctionCall","src":"4003:32:5"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3993:6:5","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4044:28:5","value":{"kind":"number","nodeType":"YulLiteral","src":"4054:18:5","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4048:2:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"4099:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4108:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4111:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4101:6:5"},"nodeType":"YulFunctionCall","src":"4101:12:5"},"nodeType":"YulExpressionStatement","src":"4101:12:5"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4087:6:5"},{"name":"_1","nodeType":"YulIdentifier","src":"4095:2:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4084:2:5"},"nodeType":"YulFunctionCall","src":"4084:14:5"},"nodeType":"YulIf","src":"4081:34:5"},{"nodeType":"YulAssignment","src":"4124:60:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4156:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"4167:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4152:3:5"},"nodeType":"YulFunctionCall","src":"4152:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4176:7:5"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"4134:17:5"},"nodeType":"YulFunctionCall","src":"4134:50:5"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"4124:6:5"}]},{"nodeType":"YulVariableDeclaration","src":"4193:48:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4226:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"4237:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4222:3:5"},"nodeType":"YulFunctionCall","src":"4222:18:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4209:12:5"},"nodeType":"YulFunctionCall","src":"4209:32:5"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"4197:8:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"4270:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4279:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4282:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4272:6:5"},"nodeType":"YulFunctionCall","src":"4272:12:5"},"nodeType":"YulExpressionStatement","src":"4272:12:5"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"4256:8:5"},{"name":"_1","nodeType":"YulIdentifier","src":"4266:2:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4253:2:5"},"nodeType":"YulFunctionCall","src":"4253:16:5"},"nodeType":"YulIf","src":"4250:36:5"},{"nodeType":"YulAssignment","src":"4295:62:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4327:9:5"},{"name":"offset_1","nodeType":"YulIdentifier","src":"4338:8:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4323:3:5"},"nodeType":"YulFunctionCall","src":"4323:24:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4349:7:5"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"4305:17:5"},"nodeType":"YulFunctionCall","src":"4305:52:5"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"4295:6:5"}]},{"nodeType":"YulVariableDeclaration","src":"4366:49:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4399:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"4410:3:5","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4395:3:5"},"nodeType":"YulFunctionCall","src":"4395:19:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4382:12:5"},"nodeType":"YulFunctionCall","src":"4382:33:5"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"4370:8:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"4444:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4453:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4456:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4446:6:5"},"nodeType":"YulFunctionCall","src":"4446:12:5"},"nodeType":"YulExpressionStatement","src":"4446:12:5"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"4430:8:5"},{"name":"_1","nodeType":"YulIdentifier","src":"4440:2:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4427:2:5"},"nodeType":"YulFunctionCall","src":"4427:16:5"},"nodeType":"YulIf","src":"4424:36:5"},{"nodeType":"YulAssignment","src":"4469:62:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4501:9:5"},{"name":"offset_2","nodeType":"YulIdentifier","src":"4512:8:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4497:3:5"},"nodeType":"YulFunctionCall","src":"4497:24:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4523:7:5"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"4479:17:5"},"nodeType":"YulFunctionCall","src":"4479:52:5"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"4469:6:5"}]}]},"name":"abi_decode_tuple_t_bytes32t_enum$_Stage_$12t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3682:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3693:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3705:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"3713:6:5","type":""},{"name":"value2","nodeType":"YulTypedName","src":"3721:6:5","type":""},{"name":"value3","nodeType":"YulTypedName","src":"3729:6:5","type":""},{"name":"value4","nodeType":"YulTypedName","src":"3737:6:5","type":""}],"src":"3572:965:5"},{"body":{"nodeType":"YulBlock","src":"4828:1531:5","statements":[{"body":{"nodeType":"YulBlock","src":"4875:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4884:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4887:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4877:6:5"},"nodeType":"YulFunctionCall","src":"4877:12:5"},"nodeType":"YulExpressionStatement","src":"4877:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4849:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"4858:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4845:3:5"},"nodeType":"YulFunctionCall","src":"4845:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"4870:3:5","type":"","value":"288"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4841:3:5"},"nodeType":"YulFunctionCall","src":"4841:33:5"},"nodeType":"YulIf","src":"4838:53:5"},{"nodeType":"YulVariableDeclaration","src":"4900:37:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4927:9:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4914:12:5"},"nodeType":"YulFunctionCall","src":"4914:23:5"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4904:6:5","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4946:28:5","value":{"kind":"number","nodeType":"YulLiteral","src":"4956:18:5","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"4950:2:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"5001:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5010:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5013:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5003:6:5"},"nodeType":"YulFunctionCall","src":"5003:12:5"},"nodeType":"YulExpressionStatement","src":"5003:12:5"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4989:6:5"},{"name":"_1","nodeType":"YulIdentifier","src":"4997:2:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4986:2:5"},"nodeType":"YulFunctionCall","src":"4986:14:5"},"nodeType":"YulIf","src":"4983:34:5"},{"nodeType":"YulAssignment","src":"5026:60:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5058:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"5069:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5054:3:5"},"nodeType":"YulFunctionCall","src":"5054:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5078:7:5"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"5036:17:5"},"nodeType":"YulFunctionCall","src":"5036:50:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5026:6:5"}]},{"nodeType":"YulVariableDeclaration","src":"5095:48:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5128:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"5139:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5124:3:5"},"nodeType":"YulFunctionCall","src":"5124:18:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5111:12:5"},"nodeType":"YulFunctionCall","src":"5111:32:5"},"variables":[{"name":"offset_1","nodeType":"YulTypedName","src":"5099:8:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"5172:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5181:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5184:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5174:6:5"},"nodeType":"YulFunctionCall","src":"5174:12:5"},"nodeType":"YulExpressionStatement","src":"5174:12:5"}]},"condition":{"arguments":[{"name":"offset_1","nodeType":"YulIdentifier","src":"5158:8:5"},{"name":"_1","nodeType":"YulIdentifier","src":"5168:2:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5155:2:5"},"nodeType":"YulFunctionCall","src":"5155:16:5"},"nodeType":"YulIf","src":"5152:36:5"},{"nodeType":"YulAssignment","src":"5197:62:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5229:9:5"},{"name":"offset_1","nodeType":"YulIdentifier","src":"5240:8:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5225:3:5"},"nodeType":"YulFunctionCall","src":"5225:24:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5251:7:5"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"5207:17:5"},"nodeType":"YulFunctionCall","src":"5207:52:5"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5197:6:5"}]},{"nodeType":"YulVariableDeclaration","src":"5268:48:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5301:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"5312:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5297:3:5"},"nodeType":"YulFunctionCall","src":"5297:18:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5284:12:5"},"nodeType":"YulFunctionCall","src":"5284:32:5"},"variables":[{"name":"offset_2","nodeType":"YulTypedName","src":"5272:8:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"5345:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5354:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5357:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5347:6:5"},"nodeType":"YulFunctionCall","src":"5347:12:5"},"nodeType":"YulExpressionStatement","src":"5347:12:5"}]},"condition":{"arguments":[{"name":"offset_2","nodeType":"YulIdentifier","src":"5331:8:5"},{"name":"_1","nodeType":"YulIdentifier","src":"5341:2:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5328:2:5"},"nodeType":"YulFunctionCall","src":"5328:16:5"},"nodeType":"YulIf","src":"5325:36:5"},{"nodeType":"YulAssignment","src":"5370:62:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5402:9:5"},{"name":"offset_2","nodeType":"YulIdentifier","src":"5413:8:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5398:3:5"},"nodeType":"YulFunctionCall","src":"5398:24:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5424:7:5"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"5380:17:5"},"nodeType":"YulFunctionCall","src":"5380:52:5"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"5370:6:5"}]},{"nodeType":"YulVariableDeclaration","src":"5441:48:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5474:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"5485:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5470:3:5"},"nodeType":"YulFunctionCall","src":"5470:18:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5457:12:5"},"nodeType":"YulFunctionCall","src":"5457:32:5"},"variables":[{"name":"offset_3","nodeType":"YulTypedName","src":"5445:8:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"5518:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5527:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5530:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5520:6:5"},"nodeType":"YulFunctionCall","src":"5520:12:5"},"nodeType":"YulExpressionStatement","src":"5520:12:5"}]},"condition":{"arguments":[{"name":"offset_3","nodeType":"YulIdentifier","src":"5504:8:5"},{"name":"_1","nodeType":"YulIdentifier","src":"5514:2:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5501:2:5"},"nodeType":"YulFunctionCall","src":"5501:16:5"},"nodeType":"YulIf","src":"5498:36:5"},{"nodeType":"YulAssignment","src":"5543:62:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5575:9:5"},{"name":"offset_3","nodeType":"YulIdentifier","src":"5586:8:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5571:3:5"},"nodeType":"YulFunctionCall","src":"5571:24:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5597:7:5"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"5553:17:5"},"nodeType":"YulFunctionCall","src":"5553:52:5"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"5543:6:5"}]},{"nodeType":"YulAssignment","src":"5614:43:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5641:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"5652:3:5","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5637:3:5"},"nodeType":"YulFunctionCall","src":"5637:19:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5624:12:5"},"nodeType":"YulFunctionCall","src":"5624:33:5"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"5614:6:5"}]},{"nodeType":"YulVariableDeclaration","src":"5666:49:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5699:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"5710:3:5","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5695:3:5"},"nodeType":"YulFunctionCall","src":"5695:19:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5682:12:5"},"nodeType":"YulFunctionCall","src":"5682:33:5"},"variables":[{"name":"offset_4","nodeType":"YulTypedName","src":"5670:8:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"5744:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5753:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5756:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5746:6:5"},"nodeType":"YulFunctionCall","src":"5746:12:5"},"nodeType":"YulExpressionStatement","src":"5746:12:5"}]},"condition":{"arguments":[{"name":"offset_4","nodeType":"YulIdentifier","src":"5730:8:5"},{"name":"_1","nodeType":"YulIdentifier","src":"5740:2:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5727:2:5"},"nodeType":"YulFunctionCall","src":"5727:16:5"},"nodeType":"YulIf","src":"5724:36:5"},{"nodeType":"YulAssignment","src":"5769:62:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5801:9:5"},{"name":"offset_4","nodeType":"YulIdentifier","src":"5812:8:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5797:3:5"},"nodeType":"YulFunctionCall","src":"5797:24:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5823:7:5"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"5779:17:5"},"nodeType":"YulFunctionCall","src":"5779:52:5"},"variableNames":[{"name":"value5","nodeType":"YulIdentifier","src":"5769:6:5"}]},{"nodeType":"YulVariableDeclaration","src":"5840:49:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5873:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"5884:3:5","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5869:3:5"},"nodeType":"YulFunctionCall","src":"5869:19:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5856:12:5"},"nodeType":"YulFunctionCall","src":"5856:33:5"},"variables":[{"name":"offset_5","nodeType":"YulTypedName","src":"5844:8:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"5918:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5927:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5930:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5920:6:5"},"nodeType":"YulFunctionCall","src":"5920:12:5"},"nodeType":"YulExpressionStatement","src":"5920:12:5"}]},"condition":{"arguments":[{"name":"offset_5","nodeType":"YulIdentifier","src":"5904:8:5"},{"name":"_1","nodeType":"YulIdentifier","src":"5914:2:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5901:2:5"},"nodeType":"YulFunctionCall","src":"5901:16:5"},"nodeType":"YulIf","src":"5898:36:5"},{"nodeType":"YulAssignment","src":"5943:62:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5975:9:5"},{"name":"offset_5","nodeType":"YulIdentifier","src":"5986:8:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5971:3:5"},"nodeType":"YulFunctionCall","src":"5971:24:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5997:7:5"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"5953:17:5"},"nodeType":"YulFunctionCall","src":"5953:52:5"},"variableNames":[{"name":"value6","nodeType":"YulIdentifier","src":"5943:6:5"}]},{"nodeType":"YulVariableDeclaration","src":"6014:49:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6047:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"6058:3:5","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6043:3:5"},"nodeType":"YulFunctionCall","src":"6043:19:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6030:12:5"},"nodeType":"YulFunctionCall","src":"6030:33:5"},"variables":[{"name":"offset_6","nodeType":"YulTypedName","src":"6018:8:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"6092:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6101:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6104:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6094:6:5"},"nodeType":"YulFunctionCall","src":"6094:12:5"},"nodeType":"YulExpressionStatement","src":"6094:12:5"}]},"condition":{"arguments":[{"name":"offset_6","nodeType":"YulIdentifier","src":"6078:8:5"},{"name":"_1","nodeType":"YulIdentifier","src":"6088:2:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6075:2:5"},"nodeType":"YulFunctionCall","src":"6075:16:5"},"nodeType":"YulIf","src":"6072:36:5"},{"nodeType":"YulAssignment","src":"6117:62:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6149:9:5"},{"name":"offset_6","nodeType":"YulIdentifier","src":"6160:8:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6145:3:5"},"nodeType":"YulFunctionCall","src":"6145:24:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6171:7:5"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"6127:17:5"},"nodeType":"YulFunctionCall","src":"6127:52:5"},"variableNames":[{"name":"value7","nodeType":"YulIdentifier","src":"6117:6:5"}]},{"nodeType":"YulVariableDeclaration","src":"6188:49:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6221:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"6232:3:5","type":"","value":"256"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6217:3:5"},"nodeType":"YulFunctionCall","src":"6217:19:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6204:12:5"},"nodeType":"YulFunctionCall","src":"6204:33:5"},"variables":[{"name":"offset_7","nodeType":"YulTypedName","src":"6192:8:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"6266:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6275:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6278:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6268:6:5"},"nodeType":"YulFunctionCall","src":"6268:12:5"},"nodeType":"YulExpressionStatement","src":"6268:12:5"}]},"condition":{"arguments":[{"name":"offset_7","nodeType":"YulIdentifier","src":"6252:8:5"},{"name":"_1","nodeType":"YulIdentifier","src":"6262:2:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6249:2:5"},"nodeType":"YulFunctionCall","src":"6249:16:5"},"nodeType":"YulIf","src":"6246:36:5"},{"nodeType":"YulAssignment","src":"6291:62:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6323:9:5"},{"name":"offset_7","nodeType":"YulIdentifier","src":"6334:8:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6319:3:5"},"nodeType":"YulFunctionCall","src":"6319:24:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6345:7:5"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"6301:17:5"},"nodeType":"YulFunctionCall","src":"6301:52:5"},"variableNames":[{"name":"value8","nodeType":"YulIdentifier","src":"6291:6:5"}]}]},"name":"abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_uint256t_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4730:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4741:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4753:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4761:6:5","type":""},{"name":"value2","nodeType":"YulTypedName","src":"4769:6:5","type":""},{"name":"value3","nodeType":"YulTypedName","src":"4777:6:5","type":""},{"name":"value4","nodeType":"YulTypedName","src":"4785:6:5","type":""},{"name":"value5","nodeType":"YulTypedName","src":"4793:6:5","type":""},{"name":"value6","nodeType":"YulTypedName","src":"4801:6:5","type":""},{"name":"value7","nodeType":"YulTypedName","src":"4809:6:5","type":""},{"name":"value8","nodeType":"YulTypedName","src":"4817:6:5","type":""}],"src":"4542:1817:5"},{"body":{"nodeType":"YulBlock","src":"6444:242:5","statements":[{"body":{"nodeType":"YulBlock","src":"6490:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6499:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6502:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6492:6:5"},"nodeType":"YulFunctionCall","src":"6492:12:5"},"nodeType":"YulExpressionStatement","src":"6492:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6465:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"6474:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6461:3:5"},"nodeType":"YulFunctionCall","src":"6461:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"6486:2:5","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6457:3:5"},"nodeType":"YulFunctionCall","src":"6457:32:5"},"nodeType":"YulIf","src":"6454:52:5"},{"nodeType":"YulVariableDeclaration","src":"6515:37:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6542:9:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6529:12:5"},"nodeType":"YulFunctionCall","src":"6529:23:5"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"6519:6:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"6595:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6604:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6607:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6597:6:5"},"nodeType":"YulFunctionCall","src":"6597:12:5"},"nodeType":"YulExpressionStatement","src":"6597:12:5"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"6567:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"6575:18:5","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6564:2:5"},"nodeType":"YulFunctionCall","src":"6564:30:5"},"nodeType":"YulIf","src":"6561:50:5"},{"nodeType":"YulAssignment","src":"6620:60:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6652:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"6663:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6648:3:5"},"nodeType":"YulFunctionCall","src":"6648:22:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"6672:7:5"}],"functionName":{"name":"abi_decode_string","nodeType":"YulIdentifier","src":"6630:17:5"},"nodeType":"YulFunctionCall","src":"6630:50:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6620:6:5"}]}]},"name":"abi_decode_tuple_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6410:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6421:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6433:6:5","type":""}],"src":"6364:322:5"},{"body":{"nodeType":"YulBlock","src":"6790:243:5","statements":[{"body":{"nodeType":"YulBlock","src":"6836:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6845:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6848:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6838:6:5"},"nodeType":"YulFunctionCall","src":"6838:12:5"},"nodeType":"YulExpressionStatement","src":"6838:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"6811:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"6820:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"6807:3:5"},"nodeType":"YulFunctionCall","src":"6807:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"6832:2:5","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"6803:3:5"},"nodeType":"YulFunctionCall","src":"6803:32:5"},"nodeType":"YulIf","src":"6800:52:5"},{"nodeType":"YulAssignment","src":"6861:39:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6890:9:5"}],"functionName":{"name":"abi_decode_address","nodeType":"YulIdentifier","src":"6871:18:5"},"nodeType":"YulFunctionCall","src":"6871:29:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"6861:6:5"}]},{"nodeType":"YulVariableDeclaration","src":"6909:45:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"6939:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"6950:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6935:3:5"},"nodeType":"YulFunctionCall","src":"6935:18:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"6922:12:5"},"nodeType":"YulFunctionCall","src":"6922:32:5"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"6913:5:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"6987:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6996:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6999:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6989:6:5"},"nodeType":"YulFunctionCall","src":"6989:12:5"},"nodeType":"YulExpressionStatement","src":"6989:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6976:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"6983:1:5","type":"","value":"6"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6973:2:5"},"nodeType":"YulFunctionCall","src":"6973:12:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6966:6:5"},"nodeType":"YulFunctionCall","src":"6966:20:5"},"nodeType":"YulIf","src":"6963:40:5"},{"nodeType":"YulAssignment","src":"7012:15:5","value":{"name":"value","nodeType":"YulIdentifier","src":"7022:5:5"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"7012:6:5"}]}]},"name":"abi_decode_tuple_t_addresst_enum$_ActorRole_$19","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"6748:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"6759:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"6771:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"6779:6:5","type":""}],"src":"6691:342:5"},{"body":{"nodeType":"YulBlock","src":"7133:92:5","statements":[{"nodeType":"YulAssignment","src":"7143:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7155:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"7166:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7151:3:5"},"nodeType":"YulFunctionCall","src":"7151:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"7143:4:5"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"7185:9:5"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"7210:6:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7203:6:5"},"nodeType":"YulFunctionCall","src":"7203:14:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7196:6:5"},"nodeType":"YulFunctionCall","src":"7196:22:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7178:6:5"},"nodeType":"YulFunctionCall","src":"7178:41:5"},"nodeType":"YulExpressionStatement","src":"7178:41:5"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"7102:9:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"7113:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"7124:4:5","type":""}],"src":"7038:187:5"},{"body":{"nodeType":"YulBlock","src":"7262:95:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7279:1:5","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7286:3:5","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"7291:10:5","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"7282:3:5"},"nodeType":"YulFunctionCall","src":"7282:20:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7272:6:5"},"nodeType":"YulFunctionCall","src":"7272:31:5"},"nodeType":"YulExpressionStatement","src":"7272:31:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7319:1:5","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"7322:4:5","type":"","value":"0x21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7312:6:5"},"nodeType":"YulFunctionCall","src":"7312:15:5"},"nodeType":"YulExpressionStatement","src":"7312:15:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7343:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7346:4:5","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7336:6:5"},"nodeType":"YulFunctionCall","src":"7336:15:5"},"nodeType":"YulExpressionStatement","src":"7336:15:5"}]},"name":"panic_error_0x21","nodeType":"YulFunctionDefinition","src":"7230:127:5"},{"body":{"nodeType":"YulBlock","src":"7409:89:5","statements":[{"body":{"nodeType":"YulBlock","src":"7443:22:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"7445:16:5"},"nodeType":"YulFunctionCall","src":"7445:18:5"},"nodeType":"YulExpressionStatement","src":"7445:18:5"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7432:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"7439:1:5","type":"","value":"4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7429:2:5"},"nodeType":"YulFunctionCall","src":"7429:12:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7422:6:5"},"nodeType":"YulFunctionCall","src":"7422:20:5"},"nodeType":"YulIf","src":"7419:46:5"},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7481:3:5"},{"name":"value","nodeType":"YulIdentifier","src":"7486:5:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7474:6:5"},"nodeType":"YulFunctionCall","src":"7474:18:5"},"nodeType":"YulExpressionStatement","src":"7474:18:5"}]},"name":"abi_encode_enum_Stage","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7393:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"7400:3:5","type":""}],"src":"7362:136:5"},{"body":{"nodeType":"YulBlock","src":"7569:184:5","statements":[{"nodeType":"YulVariableDeclaration","src":"7579:10:5","value":{"kind":"number","nodeType":"YulLiteral","src":"7588:1:5","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"7583:1:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"7648:63:5","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"7673:3:5"},{"name":"i","nodeType":"YulIdentifier","src":"7678:1:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7669:3:5"},"nodeType":"YulFunctionCall","src":"7669:11:5"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"7692:3:5"},{"name":"i","nodeType":"YulIdentifier","src":"7697:1:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7688:3:5"},"nodeType":"YulFunctionCall","src":"7688:11:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7682:5:5"},"nodeType":"YulFunctionCall","src":"7682:18:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7662:6:5"},"nodeType":"YulFunctionCall","src":"7662:39:5"},"nodeType":"YulExpressionStatement","src":"7662:39:5"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7609:1:5"},{"name":"length","nodeType":"YulIdentifier","src":"7612:6:5"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7606:2:5"},"nodeType":"YulFunctionCall","src":"7606:13:5"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"7620:19:5","statements":[{"nodeType":"YulAssignment","src":"7622:15:5","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7631:1:5"},{"kind":"number","nodeType":"YulLiteral","src":"7634:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7627:3:5"},"nodeType":"YulFunctionCall","src":"7627:10:5"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"7622:1:5"}]}]},"pre":{"nodeType":"YulBlock","src":"7602:3:5","statements":[]},"src":"7598:113:5"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"7731:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"7736:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7727:3:5"},"nodeType":"YulFunctionCall","src":"7727:16:5"},{"kind":"number","nodeType":"YulLiteral","src":"7745:1:5","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7720:6:5"},"nodeType":"YulFunctionCall","src":"7720:27:5"},"nodeType":"YulExpressionStatement","src":"7720:27:5"}]},"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"7547:3:5","type":""},{"name":"dst","nodeType":"YulTypedName","src":"7552:3:5","type":""},{"name":"length","nodeType":"YulTypedName","src":"7557:6:5","type":""}],"src":"7503:250:5"},{"body":{"nodeType":"YulBlock","src":"7808:221:5","statements":[{"nodeType":"YulVariableDeclaration","src":"7818:26:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7838:5:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7832:5:5"},"nodeType":"YulFunctionCall","src":"7832:12:5"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"7822:6:5","type":""}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7860:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"7865:6:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7853:6:5"},"nodeType":"YulFunctionCall","src":"7853:19:5"},"nodeType":"YulExpressionStatement","src":"7853:19:5"},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7920:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"7927:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7916:3:5"},"nodeType":"YulFunctionCall","src":"7916:16:5"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7938:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"7943:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7934:3:5"},"nodeType":"YulFunctionCall","src":"7934:14:5"},{"name":"length","nodeType":"YulIdentifier","src":"7950:6:5"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"7881:34:5"},"nodeType":"YulFunctionCall","src":"7881:76:5"},"nodeType":"YulExpressionStatement","src":"7881:76:5"},{"nodeType":"YulAssignment","src":"7966:57:5","value":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7981:3:5"},{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"7994:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"8002:2:5","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7990:3:5"},"nodeType":"YulFunctionCall","src":"7990:15:5"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8011:2:5","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"8007:3:5"},"nodeType":"YulFunctionCall","src":"8007:7:5"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7986:3:5"},"nodeType":"YulFunctionCall","src":"7986:29:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7977:3:5"},"nodeType":"YulFunctionCall","src":"7977:39:5"},{"kind":"number","nodeType":"YulLiteral","src":"8018:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7973:3:5"},"nodeType":"YulFunctionCall","src":"7973:50:5"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"7966:3:5"}]}]},"name":"abi_encode_string","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7785:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"7792:3:5","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"7800:3:5","type":""}],"src":"7758:271:5"},{"body":{"nodeType":"YulBlock","src":"8102:703:5","statements":[{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8140:5:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8134:5:5"},"nodeType":"YulFunctionCall","src":"8134:12:5"},{"name":"pos","nodeType":"YulIdentifier","src":"8148:3:5"}],"functionName":{"name":"abi_encode_enum_Stage","nodeType":"YulIdentifier","src":"8112:21:5"},"nodeType":"YulFunctionCall","src":"8112:40:5"},"nodeType":"YulExpressionStatement","src":"8112:40:5"},{"nodeType":"YulVariableDeclaration","src":"8161:43:5","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8191:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"8198:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8187:3:5"},"nodeType":"YulFunctionCall","src":"8187:16:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8181:5:5"},"nodeType":"YulFunctionCall","src":"8181:23:5"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"8165:12:5","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8224:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"8229:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8220:3:5"},"nodeType":"YulFunctionCall","src":"8220:14:5"},{"kind":"number","nodeType":"YulLiteral","src":"8236:4:5","type":"","value":"0xc0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8213:6:5"},"nodeType":"YulFunctionCall","src":"8213:28:5"},"nodeType":"YulExpressionStatement","src":"8213:28:5"},{"nodeType":"YulVariableDeclaration","src":"8250:59:5","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"8280:12:5"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8298:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"8303:4:5","type":"","value":"0xc0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8294:3:5"},"nodeType":"YulFunctionCall","src":"8294:14:5"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"8262:17:5"},"nodeType":"YulFunctionCall","src":"8262:47:5"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"8254:4:5","type":""}]},{"nodeType":"YulVariableDeclaration","src":"8318:45:5","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8350:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"8357:4:5","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8346:3:5"},"nodeType":"YulFunctionCall","src":"8346:16:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8340:5:5"},"nodeType":"YulFunctionCall","src":"8340:23:5"},"variables":[{"name":"memberValue0_1","nodeType":"YulTypedName","src":"8322:14:5","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8383:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"8388:4:5","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8379:3:5"},"nodeType":"YulFunctionCall","src":"8379:14:5"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"8399:4:5"},{"name":"pos","nodeType":"YulIdentifier","src":"8405:3:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8395:3:5"},"nodeType":"YulFunctionCall","src":"8395:14:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8372:6:5"},"nodeType":"YulFunctionCall","src":"8372:38:5"},"nodeType":"YulExpressionStatement","src":"8372:38:5"},{"nodeType":"YulVariableDeclaration","src":"8419:53:5","value":{"arguments":[{"name":"memberValue0_1","nodeType":"YulIdentifier","src":"8451:14:5"},{"name":"tail","nodeType":"YulIdentifier","src":"8467:4:5"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"8433:17:5"},"nodeType":"YulFunctionCall","src":"8433:39:5"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"8423:6:5","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8492:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"8497:4:5","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8488:3:5"},"nodeType":"YulFunctionCall","src":"8488:14:5"},{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8514:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"8521:4:5","type":"","value":"0x60"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8510:3:5"},"nodeType":"YulFunctionCall","src":"8510:16:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8504:5:5"},"nodeType":"YulFunctionCall","src":"8504:23:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8481:6:5"},"nodeType":"YulFunctionCall","src":"8481:47:5"},"nodeType":"YulExpressionStatement","src":"8481:47:5"},{"nodeType":"YulVariableDeclaration","src":"8537:45:5","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8569:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"8576:4:5","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8565:3:5"},"nodeType":"YulFunctionCall","src":"8565:16:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8559:5:5"},"nodeType":"YulFunctionCall","src":"8559:23:5"},"variables":[{"name":"memberValue0_2","nodeType":"YulTypedName","src":"8541:14:5","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8602:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"8607:4:5","type":"","value":"0x80"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8598:3:5"},"nodeType":"YulFunctionCall","src":"8598:14:5"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"8618:6:5"},{"name":"pos","nodeType":"YulIdentifier","src":"8626:3:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8614:3:5"},"nodeType":"YulFunctionCall","src":"8614:16:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8591:6:5"},"nodeType":"YulFunctionCall","src":"8591:40:5"},"nodeType":"YulExpressionStatement","src":"8591:40:5"},{"nodeType":"YulVariableDeclaration","src":"8640:55:5","value":{"arguments":[{"name":"memberValue0_2","nodeType":"YulIdentifier","src":"8672:14:5"},{"name":"tail_1","nodeType":"YulIdentifier","src":"8688:6:5"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"8654:17:5"},"nodeType":"YulFunctionCall","src":"8654:41:5"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"8644:6:5","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8715:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"8720:4:5","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8711:3:5"},"nodeType":"YulFunctionCall","src":"8711:14:5"},{"arguments":[{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8741:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"8748:4:5","type":"","value":"0xa0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8737:3:5"},"nodeType":"YulFunctionCall","src":"8737:16:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"8731:5:5"},"nodeType":"YulFunctionCall","src":"8731:23:5"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8764:3:5","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"8769:1:5","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"8760:3:5"},"nodeType":"YulFunctionCall","src":"8760:11:5"},{"kind":"number","nodeType":"YulLiteral","src":"8773:1:5","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"8756:3:5"},"nodeType":"YulFunctionCall","src":"8756:19:5"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"8727:3:5"},"nodeType":"YulFunctionCall","src":"8727:49:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8704:6:5"},"nodeType":"YulFunctionCall","src":"8704:73:5"},"nodeType":"YulExpressionStatement","src":"8704:73:5"},{"nodeType":"YulAssignment","src":"8786:13:5","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"8793:6:5"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8786:3:5"}]}]},"name":"abi_encode_struct_SupplyChainUpdate","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8079:5:5","type":""},{"name":"pos","nodeType":"YulTypedName","src":"8086:3:5","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8094:3:5","type":""}],"src":"8034:771:5"},{"body":{"nodeType":"YulBlock","src":"9027:650:5","statements":[{"nodeType":"YulVariableDeclaration","src":"9037:12:5","value":{"kind":"number","nodeType":"YulLiteral","src":"9047:2:5","type":"","value":"32"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"9041:2:5","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9058:32:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9076:9:5"},{"name":"_1","nodeType":"YulIdentifier","src":"9087:2:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9072:3:5"},"nodeType":"YulFunctionCall","src":"9072:18:5"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"9062:6:5","type":""}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9106:9:5"},{"name":"_1","nodeType":"YulIdentifier","src":"9117:2:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9099:6:5"},"nodeType":"YulFunctionCall","src":"9099:21:5"},"nodeType":"YulExpressionStatement","src":"9099:21:5"},{"nodeType":"YulVariableDeclaration","src":"9129:17:5","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"9140:6:5"},"variables":[{"name":"pos","nodeType":"YulTypedName","src":"9133:3:5","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9155:27:5","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9175:6:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9169:5:5"},"nodeType":"YulFunctionCall","src":"9169:13:5"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"9159:6:5","type":""}]},{"expression":{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"9198:6:5"},{"name":"length","nodeType":"YulIdentifier","src":"9206:6:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9191:6:5"},"nodeType":"YulFunctionCall","src":"9191:22:5"},"nodeType":"YulExpressionStatement","src":"9191:22:5"},{"nodeType":"YulAssignment","src":"9222:25:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9233:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"9244:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9229:3:5"},"nodeType":"YulFunctionCall","src":"9229:18:5"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9222:3:5"}]},{"nodeType":"YulVariableDeclaration","src":"9256:53:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9278:9:5"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9293:1:5","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"9296:6:5"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9289:3:5"},"nodeType":"YulFunctionCall","src":"9289:14:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9274:3:5"},"nodeType":"YulFunctionCall","src":"9274:30:5"},{"kind":"number","nodeType":"YulLiteral","src":"9306:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9270:3:5"},"nodeType":"YulFunctionCall","src":"9270:39:5"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"9260:6:5","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9318:29:5","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9336:6:5"},{"name":"_1","nodeType":"YulIdentifier","src":"9344:2:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9332:3:5"},"nodeType":"YulFunctionCall","src":"9332:15:5"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"9322:6:5","type":""}]},{"nodeType":"YulVariableDeclaration","src":"9356:10:5","value":{"kind":"number","nodeType":"YulLiteral","src":"9365:1:5","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"9360:1:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"9424:224:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9445:3:5"},{"arguments":[{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"9458:6:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"9466:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9454:3:5"},"nodeType":"YulFunctionCall","src":"9454:22:5"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9482:2:5","type":"","value":"63"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"9478:3:5"},"nodeType":"YulFunctionCall","src":"9478:7:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9450:3:5"},"nodeType":"YulFunctionCall","src":"9450:36:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9438:6:5"},"nodeType":"YulFunctionCall","src":"9438:49:5"},"nodeType":"YulExpressionStatement","src":"9438:49:5"},{"nodeType":"YulAssignment","src":"9500:68:5","value":{"arguments":[{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"9552:6:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"9546:5:5"},"nodeType":"YulFunctionCall","src":"9546:13:5"},{"name":"tail_2","nodeType":"YulIdentifier","src":"9561:6:5"}],"functionName":{"name":"abi_encode_struct_SupplyChainUpdate","nodeType":"YulIdentifier","src":"9510:35:5"},"nodeType":"YulFunctionCall","src":"9510:58:5"},"variableNames":[{"name":"tail_2","nodeType":"YulIdentifier","src":"9500:6:5"}]},{"nodeType":"YulAssignment","src":"9581:25:5","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"9595:6:5"},{"name":"_1","nodeType":"YulIdentifier","src":"9603:2:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9591:3:5"},"nodeType":"YulFunctionCall","src":"9591:15:5"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"9581:6:5"}]},{"nodeType":"YulAssignment","src":"9619:19:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9630:3:5"},{"name":"_1","nodeType":"YulIdentifier","src":"9635:2:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9626:3:5"},"nodeType":"YulFunctionCall","src":"9626:12:5"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9619:3:5"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"9386:1:5"},{"name":"length","nodeType":"YulIdentifier","src":"9389:6:5"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"9383:2:5"},"nodeType":"YulFunctionCall","src":"9383:13:5"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"9397:18:5","statements":[{"nodeType":"YulAssignment","src":"9399:14:5","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"9408:1:5"},{"kind":"number","nodeType":"YulLiteral","src":"9411:1:5","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9404:3:5"},"nodeType":"YulFunctionCall","src":"9404:9:5"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"9399:1:5"}]}]},"pre":{"nodeType":"YulBlock","src":"9379:3:5","statements":[]},"src":"9375:273:5"},{"nodeType":"YulAssignment","src":"9657:14:5","value":{"name":"tail_2","nodeType":"YulIdentifier","src":"9665:6:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9657:4:5"}]}]},"name":"abi_encode_tuple_t_array$_t_struct$_SupplyChainUpdate_$48_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_SupplyChainUpdate_$48_memory_ptr_$dyn_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"8996:9:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9007:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9018:4:5","type":""}],"src":"8810:867:5"},{"body":{"nodeType":"YulBlock","src":"9783:102:5","statements":[{"nodeType":"YulAssignment","src":"9793:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9805:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"9816:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9801:3:5"},"nodeType":"YulFunctionCall","src":"9801:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"9793:4:5"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"9835:9:5"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"9850:6:5"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"9866:3:5","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"9871:1:5","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"9862:3:5"},"nodeType":"YulFunctionCall","src":"9862:11:5"},{"kind":"number","nodeType":"YulLiteral","src":"9875:1:5","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9858:3:5"},"nodeType":"YulFunctionCall","src":"9858:19:5"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"9846:3:5"},"nodeType":"YulFunctionCall","src":"9846:32:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"9828:6:5"},"nodeType":"YulFunctionCall","src":"9828:51:5"},"nodeType":"YulExpressionStatement","src":"9828:51:5"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9752:9:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"9763:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"9774:4:5","type":""}],"src":"9682:203:5"},{"body":{"nodeType":"YulBlock","src":"9960:110:5","statements":[{"body":{"nodeType":"YulBlock","src":"10006:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10015:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"10018:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"10008:6:5"},"nodeType":"YulFunctionCall","src":"10008:12:5"},"nodeType":"YulExpressionStatement","src":"10008:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"9981:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"9990:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"9977:3:5"},"nodeType":"YulFunctionCall","src":"9977:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"10002:2:5","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"9973:3:5"},"nodeType":"YulFunctionCall","src":"9973:32:5"},"nodeType":"YulIf","src":"9970:52:5"},{"nodeType":"YulAssignment","src":"10031:33:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10054:9:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"10041:12:5"},"nodeType":"YulFunctionCall","src":"10041:23:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"10031:6:5"}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"9926:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"9937:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"9949:6:5","type":""}],"src":"9890:180:5"},{"body":{"nodeType":"YulBlock","src":"10352:420:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10369:9:5"},{"name":"value0","nodeType":"YulIdentifier","src":"10380:6:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10362:6:5"},"nodeType":"YulFunctionCall","src":"10362:25:5"},"nodeType":"YulExpressionStatement","src":"10362:25:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10407:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"10418:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10403:3:5"},"nodeType":"YulFunctionCall","src":"10403:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"10423:3:5","type":"","value":"224"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10396:6:5"},"nodeType":"YulFunctionCall","src":"10396:31:5"},"nodeType":"YulExpressionStatement","src":"10396:31:5"},{"nodeType":"YulAssignment","src":"10436:54:5","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"10462:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10474:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"10485:3:5","type":"","value":"224"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10470:3:5"},"nodeType":"YulFunctionCall","src":"10470:19:5"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"10444:17:5"},"nodeType":"YulFunctionCall","src":"10444:46:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10436:4:5"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10510:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"10521:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10506:3:5"},"nodeType":"YulFunctionCall","src":"10506:18:5"},{"name":"value2","nodeType":"YulIdentifier","src":"10526:6:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10499:6:5"},"nodeType":"YulFunctionCall","src":"10499:34:5"},"nodeType":"YulExpressionStatement","src":"10499:34:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10553:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"10564:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10549:3:5"},"nodeType":"YulFunctionCall","src":"10549:18:5"},{"name":"value3","nodeType":"YulIdentifier","src":"10569:6:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10542:6:5"},"nodeType":"YulFunctionCall","src":"10542:34:5"},"nodeType":"YulExpressionStatement","src":"10542:34:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10596:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"10607:3:5","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10592:3:5"},"nodeType":"YulFunctionCall","src":"10592:19:5"},{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"10617:6:5"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"10633:3:5","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"10638:1:5","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"10629:3:5"},"nodeType":"YulFunctionCall","src":"10629:11:5"},{"kind":"number","nodeType":"YulLiteral","src":"10642:1:5","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"10625:3:5"},"nodeType":"YulFunctionCall","src":"10625:19:5"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"10613:3:5"},"nodeType":"YulFunctionCall","src":"10613:32:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10585:6:5"},"nodeType":"YulFunctionCall","src":"10585:61:5"},"nodeType":"YulExpressionStatement","src":"10585:61:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10666:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"10677:3:5","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10662:3:5"},"nodeType":"YulFunctionCall","src":"10662:19:5"},{"arguments":[{"arguments":[{"name":"value5","nodeType":"YulIdentifier","src":"10697:6:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"10690:6:5"},"nodeType":"YulFunctionCall","src":"10690:14:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"10683:6:5"},"nodeType":"YulFunctionCall","src":"10683:22:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10655:6:5"},"nodeType":"YulFunctionCall","src":"10655:51:5"},"nodeType":"YulExpressionStatement","src":"10655:51:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10726:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"10737:3:5","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10722:3:5"},"nodeType":"YulFunctionCall","src":"10722:19:5"},{"arguments":[{"arguments":[{"name":"value6","nodeType":"YulIdentifier","src":"10757:6:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"10750:6:5"},"nodeType":"YulFunctionCall","src":"10750:14:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"10743:6:5"},"nodeType":"YulFunctionCall","src":"10743:22:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10715:6:5"},"nodeType":"YulFunctionCall","src":"10715:51:5"},"nodeType":"YulExpressionStatement","src":"10715:51:5"}]},"name":"abi_encode_tuple_t_bytes32_t_string_memory_ptr_t_uint256_t_uint256_t_address_t_bool_t_bool__to_t_bytes32_t_string_memory_ptr_t_uint256_t_uint256_t_address_t_bool_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10273:9:5","type":""},{"name":"value6","nodeType":"YulTypedName","src":"10284:6:5","type":""},{"name":"value5","nodeType":"YulTypedName","src":"10292:6:5","type":""},{"name":"value4","nodeType":"YulTypedName","src":"10300:6:5","type":""},{"name":"value3","nodeType":"YulTypedName","src":"10308:6:5","type":""},{"name":"value2","nodeType":"YulTypedName","src":"10316:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"10324:6:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10332:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10343:4:5","type":""}],"src":"10075:697:5"},{"body":{"nodeType":"YulBlock","src":"10944:117:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"10961:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"10972:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10954:6:5"},"nodeType":"YulFunctionCall","src":"10954:21:5"},"nodeType":"YulExpressionStatement","src":"10954:21:5"},{"nodeType":"YulAssignment","src":"10984:71:5","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11028:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11040:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"11051:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11036:3:5"},"nodeType":"YulFunctionCall","src":"11036:18:5"}],"functionName":{"name":"abi_encode_struct_SupplyChainUpdate","nodeType":"YulIdentifier","src":"10992:35:5"},"nodeType":"YulFunctionCall","src":"10992:63:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"10984:4:5"}]}]},"name":"abi_encode_tuple_t_struct$_SupplyChainUpdate_$48_memory_ptr__to_t_struct$_SupplyChainUpdate_$48_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"10913:9:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10924:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"10935:4:5","type":""}],"src":"10777:284:5"},{"body":{"nodeType":"YulBlock","src":"11177:132:5","statements":[{"nodeType":"YulAssignment","src":"11187:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11199:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"11210:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11195:3:5"},"nodeType":"YulFunctionCall","src":"11195:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11187:4:5"}]},{"body":{"nodeType":"YulBlock","src":"11247:22:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x21","nodeType":"YulIdentifier","src":"11249:16:5"},"nodeType":"YulFunctionCall","src":"11249:18:5"},"nodeType":"YulExpressionStatement","src":"11249:18:5"}]},"condition":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11235:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"11243:1:5","type":"","value":"6"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"11232:2:5"},"nodeType":"YulFunctionCall","src":"11232:13:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"11225:6:5"},"nodeType":"YulFunctionCall","src":"11225:21:5"},"nodeType":"YulIf","src":"11222:47:5"},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11285:9:5"},{"name":"value0","nodeType":"YulIdentifier","src":"11296:6:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11278:6:5"},"nodeType":"YulFunctionCall","src":"11278:25:5"},"nodeType":"YulExpressionStatement","src":"11278:25:5"}]},"name":"abi_encode_tuple_t_enum$_ActorRole_$19__to_t_uint8__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11146:9:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11157:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11168:4:5","type":""}],"src":"11066:243:5"},{"body":{"nodeType":"YulBlock","src":"11401:161:5","statements":[{"body":{"nodeType":"YulBlock","src":"11447:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"11456:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"11459:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"11449:6:5"},"nodeType":"YulFunctionCall","src":"11449:12:5"},"nodeType":"YulExpressionStatement","src":"11449:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"11422:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"11431:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"11418:3:5"},"nodeType":"YulFunctionCall","src":"11418:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"11443:2:5","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"11414:3:5"},"nodeType":"YulFunctionCall","src":"11414:32:5"},"nodeType":"YulIf","src":"11411:52:5"},{"nodeType":"YulAssignment","src":"11472:33:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11495:9:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11482:12:5"},"nodeType":"YulFunctionCall","src":"11482:23:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"11472:6:5"}]},{"nodeType":"YulAssignment","src":"11514:42:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11541:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"11552:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11537:3:5"},"nodeType":"YulFunctionCall","src":"11537:18:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"11524:12:5"},"nodeType":"YulFunctionCall","src":"11524:32:5"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"11514:6:5"}]}]},"name":"abi_decode_tuple_t_bytes32t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11359:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"11370:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"11382:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11390:6:5","type":""}],"src":"11314:248:5"},{"body":{"nodeType":"YulBlock","src":"11874:503:5","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11906:6:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"11914:9:5"}],"functionName":{"name":"abi_encode_enum_Stage","nodeType":"YulIdentifier","src":"11884:21:5"},"nodeType":"YulFunctionCall","src":"11884:40:5"},"nodeType":"YulExpressionStatement","src":"11884:40:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11944:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"11955:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11940:3:5"},"nodeType":"YulFunctionCall","src":"11940:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"11960:3:5","type":"","value":"192"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"11933:6:5"},"nodeType":"YulFunctionCall","src":"11933:31:5"},"nodeType":"YulExpressionStatement","src":"11933:31:5"},{"nodeType":"YulVariableDeclaration","src":"11973:60:5","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"12005:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12017:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"12028:3:5","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12013:3:5"},"nodeType":"YulFunctionCall","src":"12013:19:5"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"11987:17:5"},"nodeType":"YulFunctionCall","src":"11987:46:5"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"11977:6:5","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12053:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"12064:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12049:3:5"},"nodeType":"YulFunctionCall","src":"12049:18:5"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"12073:6:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"12081:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12069:3:5"},"nodeType":"YulFunctionCall","src":"12069:22:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12042:6:5"},"nodeType":"YulFunctionCall","src":"12042:50:5"},"nodeType":"YulExpressionStatement","src":"12042:50:5"},{"nodeType":"YulVariableDeclaration","src":"12101:47:5","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"12133:6:5"},{"name":"tail_1","nodeType":"YulIdentifier","src":"12141:6:5"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"12115:17:5"},"nodeType":"YulFunctionCall","src":"12115:33:5"},"variables":[{"name":"tail_2","nodeType":"YulTypedName","src":"12105:6:5","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12168:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"12179:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12164:3:5"},"nodeType":"YulFunctionCall","src":"12164:18:5"},{"name":"value3","nodeType":"YulIdentifier","src":"12184:6:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12157:6:5"},"nodeType":"YulFunctionCall","src":"12157:34:5"},"nodeType":"YulExpressionStatement","src":"12157:34:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12211:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"12222:3:5","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12207:3:5"},"nodeType":"YulFunctionCall","src":"12207:19:5"},{"arguments":[{"name":"tail_2","nodeType":"YulIdentifier","src":"12232:6:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"12240:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12228:3:5"},"nodeType":"YulFunctionCall","src":"12228:22:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12200:6:5"},"nodeType":"YulFunctionCall","src":"12200:51:5"},"nodeType":"YulExpressionStatement","src":"12200:51:5"},{"nodeType":"YulAssignment","src":"12260:41:5","value":{"arguments":[{"name":"value4","nodeType":"YulIdentifier","src":"12286:6:5"},{"name":"tail_2","nodeType":"YulIdentifier","src":"12294:6:5"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"12268:17:5"},"nodeType":"YulFunctionCall","src":"12268:33:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12260:4:5"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12321:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"12332:3:5","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12317:3:5"},"nodeType":"YulFunctionCall","src":"12317:19:5"},{"arguments":[{"name":"value5","nodeType":"YulIdentifier","src":"12342:6:5"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12358:3:5","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"12363:1:5","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12354:3:5"},"nodeType":"YulFunctionCall","src":"12354:11:5"},{"kind":"number","nodeType":"YulLiteral","src":"12367:1:5","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12350:3:5"},"nodeType":"YulFunctionCall","src":"12350:19:5"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12338:3:5"},"nodeType":"YulFunctionCall","src":"12338:32:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12310:6:5"},"nodeType":"YulFunctionCall","src":"12310:61:5"},"nodeType":"YulExpressionStatement","src":"12310:61:5"}]},"name":"abi_encode_tuple_t_enum$_Stage_$12_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_string_memory_ptr_t_address__to_t_uint8_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_string_memory_ptr_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11803:9:5","type":""},{"name":"value5","nodeType":"YulTypedName","src":"11814:6:5","type":""},{"name":"value4","nodeType":"YulTypedName","src":"11822:6:5","type":""},{"name":"value3","nodeType":"YulTypedName","src":"11830:6:5","type":""},{"name":"value2","nodeType":"YulTypedName","src":"11838:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"11846:6:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11854:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11865:4:5","type":""}],"src":"11567:810:5"},{"body":{"nodeType":"YulBlock","src":"12533:638:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12550:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"12561:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12543:6:5"},"nodeType":"YulFunctionCall","src":"12543:21:5"},"nodeType":"YulExpressionStatement","src":"12543:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12584:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"12595:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12580:3:5"},"nodeType":"YulFunctionCall","src":"12580:18:5"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12606:6:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12600:5:5"},"nodeType":"YulFunctionCall","src":"12600:13:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12573:6:5"},"nodeType":"YulFunctionCall","src":"12573:41:5"},"nodeType":"YulExpressionStatement","src":"12573:41:5"},{"nodeType":"YulVariableDeclaration","src":"12623:42:5","value":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12653:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"12661:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12649:3:5"},"nodeType":"YulFunctionCall","src":"12649:15:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12643:5:5"},"nodeType":"YulFunctionCall","src":"12643:22:5"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"12627:12:5","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12685:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"12696:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12681:3:5"},"nodeType":"YulFunctionCall","src":"12681:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"12701:4:5","type":"","value":"0xe0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12674:6:5"},"nodeType":"YulFunctionCall","src":"12674:32:5"},"nodeType":"YulExpressionStatement","src":"12674:32:5"},{"nodeType":"YulVariableDeclaration","src":"12715:66:5","value":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"12747:12:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12765:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"12776:3:5","type":"","value":"256"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12761:3:5"},"nodeType":"YulFunctionCall","src":"12761:19:5"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"12729:17:5"},"nodeType":"YulFunctionCall","src":"12729:52:5"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"12719:6:5","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12801:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"12812:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12797:3:5"},"nodeType":"YulFunctionCall","src":"12797:18:5"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12827:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"12835:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12823:3:5"},"nodeType":"YulFunctionCall","src":"12823:15:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12817:5:5"},"nodeType":"YulFunctionCall","src":"12817:22:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12790:6:5"},"nodeType":"YulFunctionCall","src":"12790:50:5"},"nodeType":"YulExpressionStatement","src":"12790:50:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12860:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"12871:3:5","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12856:3:5"},"nodeType":"YulFunctionCall","src":"12856:19:5"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12887:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"12895:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12883:3:5"},"nodeType":"YulFunctionCall","src":"12883:15:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12877:5:5"},"nodeType":"YulFunctionCall","src":"12877:22:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12849:6:5"},"nodeType":"YulFunctionCall","src":"12849:51:5"},"nodeType":"YulExpressionStatement","src":"12849:51:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12920:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"12931:3:5","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12916:3:5"},"nodeType":"YulFunctionCall","src":"12916:19:5"},{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12951:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"12959:3:5","type":"","value":"128"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12947:3:5"},"nodeType":"YulFunctionCall","src":"12947:16:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"12941:5:5"},"nodeType":"YulFunctionCall","src":"12941:23:5"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"12974:3:5","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"12979:1:5","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"12970:3:5"},"nodeType":"YulFunctionCall","src":"12970:11:5"},{"kind":"number","nodeType":"YulLiteral","src":"12983:1:5","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12966:3:5"},"nodeType":"YulFunctionCall","src":"12966:19:5"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"12937:3:5"},"nodeType":"YulFunctionCall","src":"12937:49:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12909:6:5"},"nodeType":"YulFunctionCall","src":"12909:78:5"},"nodeType":"YulExpressionStatement","src":"12909:78:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13007:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"13018:3:5","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13003:3:5"},"nodeType":"YulFunctionCall","src":"13003:19:5"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13048:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"13056:3:5","type":"","value":"160"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13044:3:5"},"nodeType":"YulFunctionCall","src":"13044:16:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13038:5:5"},"nodeType":"YulFunctionCall","src":"13038:23:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13031:6:5"},"nodeType":"YulFunctionCall","src":"13031:31:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13024:6:5"},"nodeType":"YulFunctionCall","src":"13024:39:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12996:6:5"},"nodeType":"YulFunctionCall","src":"12996:68:5"},"nodeType":"YulExpressionStatement","src":"12996:68:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13084:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"13095:4:5","type":"","value":"0xe0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13080:3:5"},"nodeType":"YulFunctionCall","src":"13080:20:5"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13126:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"13134:3:5","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13122:3:5"},"nodeType":"YulFunctionCall","src":"13122:16:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"13116:5:5"},"nodeType":"YulFunctionCall","src":"13116:23:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13109:6:5"},"nodeType":"YulFunctionCall","src":"13109:31:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"13102:6:5"},"nodeType":"YulFunctionCall","src":"13102:39:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13073:6:5"},"nodeType":"YulFunctionCall","src":"13073:69:5"},"nodeType":"YulExpressionStatement","src":"13073:69:5"},{"nodeType":"YulAssignment","src":"13151:14:5","value":{"name":"tail_1","nodeType":"YulIdentifier","src":"13159:6:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13151:4:5"}]}]},"name":"abi_encode_tuple_t_struct$_CropBatch_$34_memory_ptr__to_t_struct$_CropBatch_$34_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12502:9:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12513:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12524:4:5","type":""}],"src":"12382:789:5"},{"body":{"nodeType":"YulBlock","src":"13350:164:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13367:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"13378:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13360:6:5"},"nodeType":"YulFunctionCall","src":"13360:21:5"},"nodeType":"YulExpressionStatement","src":"13360:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13401:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"13412:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13397:3:5"},"nodeType":"YulFunctionCall","src":"13397:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"13417:2:5","type":"","value":"14"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13390:6:5"},"nodeType":"YulFunctionCall","src":"13390:30:5"},"nodeType":"YulExpressionStatement","src":"13390:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13440:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"13451:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13436:3:5"},"nodeType":"YulFunctionCall","src":"13436:18:5"},{"hexValue":"4e6f7420617574686f72697a6564","kind":"string","nodeType":"YulLiteral","src":"13456:16:5","type":"","value":"Not authorized"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13429:6:5"},"nodeType":"YulFunctionCall","src":"13429:44:5"},"nodeType":"YulExpressionStatement","src":"13429:44:5"},{"nodeType":"YulAssignment","src":"13482:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13494:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"13505:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13490:3:5"},"nodeType":"YulFunctionCall","src":"13490:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13482:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13327:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13341:4:5","type":""}],"src":"13176:338:5"},{"body":{"nodeType":"YulBlock","src":"13693:166:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13710:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"13721:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13703:6:5"},"nodeType":"YulFunctionCall","src":"13703:21:5"},"nodeType":"YulExpressionStatement","src":"13703:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13744:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"13755:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13740:3:5"},"nodeType":"YulFunctionCall","src":"13740:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"13760:2:5","type":"","value":"16"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13733:6:5"},"nodeType":"YulFunctionCall","src":"13733:30:5"},"nodeType":"YulExpressionStatement","src":"13733:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13783:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"13794:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13779:3:5"},"nodeType":"YulFunctionCall","src":"13779:18:5"},{"hexValue":"4d616e64692f41646d696e206f6e6c79","kind":"string","nodeType":"YulLiteral","src":"13799:18:5","type":"","value":"Mandi/Admin only"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13772:6:5"},"nodeType":"YulFunctionCall","src":"13772:46:5"},"nodeType":"YulExpressionStatement","src":"13772:46:5"},{"nodeType":"YulAssignment","src":"13827:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13839:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"13850:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13835:3:5"},"nodeType":"YulFunctionCall","src":"13835:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13827:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_47226bf13fa32a8d7a11b9f8ba5ea922b2db352b2e0bd21f8a5ff59908f8ae4a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13670:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13684:4:5","type":""}],"src":"13519:340:5"},{"body":{"nodeType":"YulBlock","src":"14038:175:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14055:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"14066:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14048:6:5"},"nodeType":"YulFunctionCall","src":"14048:21:5"},"nodeType":"YulExpressionStatement","src":"14048:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14089:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"14100:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14085:3:5"},"nodeType":"YulFunctionCall","src":"14085:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"14105:2:5","type":"","value":"25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14078:6:5"},"nodeType":"YulFunctionCall","src":"14078:30:5"},"nodeType":"YulExpressionStatement","src":"14078:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14128:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"14139:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14124:3:5"},"nodeType":"YulFunctionCall","src":"14124:18:5"},{"hexValue":"43726f7020747970652063616e6e6f7420626520656d707479","kind":"string","nodeType":"YulLiteral","src":"14144:27:5","type":"","value":"Crop type cannot be empty"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14117:6:5"},"nodeType":"YulFunctionCall","src":"14117:55:5"},"nodeType":"YulExpressionStatement","src":"14117:55:5"},{"nodeType":"YulAssignment","src":"14181:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14193:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"14204:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14189:3:5"},"nodeType":"YulFunctionCall","src":"14189:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14181:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_76df2ccd6b3e6069462d14ca80504c97024ffda893e6beeeecfb45757e65c5f6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14015:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14029:4:5","type":""}],"src":"13864:349:5"},{"body":{"nodeType":"YulBlock","src":"14392:167:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14409:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"14420:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14402:6:5"},"nodeType":"YulFunctionCall","src":"14402:21:5"},"nodeType":"YulExpressionStatement","src":"14402:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14443:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"14454:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14439:3:5"},"nodeType":"YulFunctionCall","src":"14439:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"14459:2:5","type":"","value":"17"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14432:6:5"},"nodeType":"YulFunctionCall","src":"14432:30:5"},"nodeType":"YulExpressionStatement","src":"14432:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14482:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"14493:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14478:3:5"},"nodeType":"YulFunctionCall","src":"14478:18:5"},{"hexValue":"5072696365206d757374206265203e2030","kind":"string","nodeType":"YulLiteral","src":"14498:19:5","type":"","value":"Price must be > 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14471:6:5"},"nodeType":"YulFunctionCall","src":"14471:47:5"},"nodeType":"YulExpressionStatement","src":"14471:47:5"},{"nodeType":"YulAssignment","src":"14527:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14539:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"14550:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14535:3:5"},"nodeType":"YulFunctionCall","src":"14535:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14527:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_1b6b7ea1ca601eedacaf5021d2f04292cf19df119f1635d866f2b5c9b71440a1__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14369:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14383:4:5","type":""}],"src":"14218:341:5"},{"body":{"nodeType":"YulBlock","src":"14711:124:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14734:3:5"},{"name":"value0","nodeType":"YulIdentifier","src":"14739:6:5"},{"name":"value1","nodeType":"YulIdentifier","src":"14747:6:5"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"14721:12:5"},"nodeType":"YulFunctionCall","src":"14721:33:5"},"nodeType":"YulExpressionStatement","src":"14721:33:5"},{"nodeType":"YulVariableDeclaration","src":"14763:26:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"14777:3:5"},{"name":"value1","nodeType":"YulIdentifier","src":"14782:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14773:3:5"},"nodeType":"YulFunctionCall","src":"14773:16:5"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"14767:2:5","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"14805:2:5"},{"kind":"number","nodeType":"YulLiteral","src":"14809:1:5","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"14798:6:5"},"nodeType":"YulFunctionCall","src":"14798:13:5"},"nodeType":"YulExpressionStatement","src":"14798:13:5"},{"nodeType":"YulAssignment","src":"14820:9:5","value":{"name":"_1","nodeType":"YulIdentifier","src":"14827:2:5"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"14820:3:5"}]}]},"name":"abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"14679:3:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14684:6:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14692:6:5","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"14703:3:5","type":""}],"src":"14564:271:5"},{"body":{"nodeType":"YulBlock","src":"14989:124:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15012:3:5"},{"name":"value0","nodeType":"YulIdentifier","src":"15017:6:5"},{"name":"value1","nodeType":"YulIdentifier","src":"15025:6:5"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"14999:12:5"},"nodeType":"YulFunctionCall","src":"14999:33:5"},"nodeType":"YulExpressionStatement","src":"14999:33:5"},{"nodeType":"YulVariableDeclaration","src":"15041:26:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"15055:3:5"},{"name":"value1","nodeType":"YulIdentifier","src":"15060:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15051:3:5"},"nodeType":"YulFunctionCall","src":"15051:16:5"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"15045:2:5","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"15083:2:5"},{"kind":"number","nodeType":"YulLiteral","src":"15087:1:5","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15076:6:5"},"nodeType":"YulFunctionCall","src":"15076:13:5"},"nodeType":"YulExpressionStatement","src":"15076:13:5"},{"nodeType":"YulAssignment","src":"15098:9:5","value":{"name":"_1","nodeType":"YulIdentifier","src":"15105:2:5"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"15098:3:5"}]}]},"name":"abi_encode_tuple_packed_t_string_calldata_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"14957:3:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14962:6:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14970:6:5","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"14981:3:5","type":""}],"src":"14840:273:5"},{"body":{"nodeType":"YulBlock","src":"15292:168:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15309:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"15320:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15302:6:5"},"nodeType":"YulFunctionCall","src":"15302:21:5"},"nodeType":"YulExpressionStatement","src":"15302:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15343:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"15354:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15339:3:5"},"nodeType":"YulFunctionCall","src":"15339:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"15359:2:5","type":"","value":"18"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15332:6:5"},"nodeType":"YulFunctionCall","src":"15332:30:5"},"nodeType":"YulExpressionStatement","src":"15332:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15382:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"15393:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15378:3:5"},"nodeType":"YulFunctionCall","src":"15378:18:5"},{"hexValue":"416d6f756e74206d757374206265203e2030","kind":"string","nodeType":"YulLiteral","src":"15398:20:5","type":"","value":"Amount must be > 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15371:6:5"},"nodeType":"YulFunctionCall","src":"15371:48:5"},"nodeType":"YulExpressionStatement","src":"15371:48:5"},{"nodeType":"YulAssignment","src":"15428:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15440:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"15451:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15436:3:5"},"nodeType":"YulFunctionCall","src":"15436:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15428:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_01c242f1c806840acb94ec05d87d4647010419c53a053a581e0026b3f6467dbb__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15269:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15283:4:5","type":""}],"src":"15118:342:5"},{"body":{"nodeType":"YulBlock","src":"15639:172:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15656:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"15667:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15649:6:5"},"nodeType":"YulFunctionCall","src":"15649:21:5"},"nodeType":"YulExpressionStatement","src":"15649:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15690:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"15701:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15686:3:5"},"nodeType":"YulFunctionCall","src":"15686:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"15706:2:5","type":"","value":"22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15679:6:5"},"nodeType":"YulFunctionCall","src":"15679:30:5"},"nodeType":"YulExpressionStatement","src":"15679:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15729:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"15740:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15725:3:5"},"nodeType":"YulFunctionCall","src":"15725:18:5"},{"hexValue":"496e73756666696369656e74206c6971756964697479","kind":"string","nodeType":"YulLiteral","src":"15745:24:5","type":"","value":"Insufficient liquidity"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15718:6:5"},"nodeType":"YulFunctionCall","src":"15718:52:5"},"nodeType":"YulExpressionStatement","src":"15718:52:5"},{"nodeType":"YulAssignment","src":"15779:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"15791:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"15802:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15787:3:5"},"nodeType":"YulFunctionCall","src":"15787:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"15779:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_36435f17e62e176b853e8c37716e51b74bf692c7f7df8628db24bf070e8367ad__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"15616:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"15630:4:5","type":""}],"src":"15465:346:5"},{"body":{"nodeType":"YulBlock","src":"15848:95:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15865:1:5","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15872:3:5","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"15877:10:5","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"15868:3:5"},"nodeType":"YulFunctionCall","src":"15868:20:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15858:6:5"},"nodeType":"YulFunctionCall","src":"15858:31:5"},"nodeType":"YulExpressionStatement","src":"15858:31:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15905:1:5","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"15908:4:5","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"15898:6:5"},"nodeType":"YulFunctionCall","src":"15898:15:5"},"nodeType":"YulExpressionStatement","src":"15898:15:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"15929:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"15932:4:5","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"15922:6:5"},"nodeType":"YulFunctionCall","src":"15922:15:5"},"nodeType":"YulExpressionStatement","src":"15922:15:5"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"15816:127:5"},{"body":{"nodeType":"YulBlock","src":"15997:79:5","statements":[{"nodeType":"YulAssignment","src":"16007:17:5","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"16019:1:5"},{"name":"y","nodeType":"YulIdentifier","src":"16022:1:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"16015:3:5"},"nodeType":"YulFunctionCall","src":"16015:9:5"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"16007:4:5"}]},{"body":{"nodeType":"YulBlock","src":"16048:22:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"16050:16:5"},"nodeType":"YulFunctionCall","src":"16050:18:5"},"nodeType":"YulExpressionStatement","src":"16050:18:5"}]},"condition":{"arguments":[{"name":"diff","nodeType":"YulIdentifier","src":"16039:4:5"},{"name":"x","nodeType":"YulIdentifier","src":"16045:1:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"16036:2:5"},"nodeType":"YulFunctionCall","src":"16036:11:5"},"nodeType":"YulIf","src":"16033:37:5"}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"15979:1:5","type":""},{"name":"y","nodeType":"YulTypedName","src":"15982:1:5","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"15988:4:5","type":""}],"src":"15948:128:5"},{"body":{"nodeType":"YulBlock","src":"16272:14:5","statements":[{"nodeType":"YulAssignment","src":"16274:10:5","value":{"name":"pos","nodeType":"YulIdentifier","src":"16281:3:5"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"16274:3:5"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16256:3:5","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"16264:3:5","type":""}],"src":"16081:205:5"},{"body":{"nodeType":"YulBlock","src":"16465:165:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16482:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"16493:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16475:6:5"},"nodeType":"YulFunctionCall","src":"16475:21:5"},"nodeType":"YulExpressionStatement","src":"16475:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16516:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"16527:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16512:3:5"},"nodeType":"YulFunctionCall","src":"16512:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"16532:2:5","type":"","value":"15"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16505:6:5"},"nodeType":"YulFunctionCall","src":"16505:30:5"},"nodeType":"YulExpressionStatement","src":"16505:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16555:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"16566:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16551:3:5"},"nodeType":"YulFunctionCall","src":"16551:18:5"},{"hexValue":"5472616e73666572206661696c6564","kind":"string","nodeType":"YulLiteral","src":"16571:17:5","type":"","value":"Transfer failed"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16544:6:5"},"nodeType":"YulFunctionCall","src":"16544:45:5"},"nodeType":"YulExpressionStatement","src":"16544:45:5"},{"nodeType":"YulAssignment","src":"16598:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16610:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"16621:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16606:3:5"},"nodeType":"YulFunctionCall","src":"16606:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16598:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_25adaa6d082ce15f901e0d8a3d393e7462ef9edf2e6bc8321fa14d1615b6fc51__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16442:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16456:4:5","type":""}],"src":"16291:339:5"},{"body":{"nodeType":"YulBlock","src":"16809:171:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16826:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"16837:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16819:6:5"},"nodeType":"YulFunctionCall","src":"16819:21:5"},"nodeType":"YulExpressionStatement","src":"16819:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16860:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"16871:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16856:3:5"},"nodeType":"YulFunctionCall","src":"16856:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"16876:2:5","type":"","value":"21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16849:6:5"},"nodeType":"YulFunctionCall","src":"16849:30:5"},"nodeType":"YulExpressionStatement","src":"16849:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16899:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"16910:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16895:3:5"},"nodeType":"YulFunctionCall","src":"16895:18:5"},{"hexValue":"4e6f207072696365206f62736572766174696f6e73","kind":"string","nodeType":"YulLiteral","src":"16915:23:5","type":"","value":"No price observations"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16888:6:5"},"nodeType":"YulFunctionCall","src":"16888:51:5"},"nodeType":"YulExpressionStatement","src":"16888:51:5"},{"nodeType":"YulAssignment","src":"16948:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"16960:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"16971:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16956:3:5"},"nodeType":"YulFunctionCall","src":"16956:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"16948:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_33e65c68a0e23542ed47484f739b4ff98552fc42d3ba896a57bf56a118ff8c50__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"16786:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"16800:4:5","type":""}],"src":"16635:345:5"},{"body":{"nodeType":"YulBlock","src":"17017:95:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17034:1:5","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17041:3:5","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"17046:10:5","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"17037:3:5"},"nodeType":"YulFunctionCall","src":"17037:20:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17027:6:5"},"nodeType":"YulFunctionCall","src":"17027:31:5"},"nodeType":"YulExpressionStatement","src":"17027:31:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17074:1:5","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"17077:4:5","type":"","value":"0x32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17067:6:5"},"nodeType":"YulFunctionCall","src":"17067:15:5"},"nodeType":"YulExpressionStatement","src":"17067:15:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"17098:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"17101:4:5","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"17091:6:5"},"nodeType":"YulFunctionCall","src":"17091:15:5"},"nodeType":"YulExpressionStatement","src":"17091:15:5"}]},"name":"panic_error_0x32","nodeType":"YulFunctionDefinition","src":"16985:127:5"},{"body":{"nodeType":"YulBlock","src":"17291:160:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17308:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"17319:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17301:6:5"},"nodeType":"YulFunctionCall","src":"17301:21:5"},"nodeType":"YulExpressionStatement","src":"17301:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17342:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"17353:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17338:3:5"},"nodeType":"YulFunctionCall","src":"17338:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"17358:2:5","type":"","value":"10"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17331:6:5"},"nodeType":"YulFunctionCall","src":"17331:30:5"},"nodeType":"YulExpressionStatement","src":"17331:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17381:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"17392:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17377:3:5"},"nodeType":"YulFunctionCall","src":"17377:18:5"},{"hexValue":"4f6e6c79206f776e6572","kind":"string","nodeType":"YulLiteral","src":"17397:12:5","type":"","value":"Only owner"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17370:6:5"},"nodeType":"YulFunctionCall","src":"17370:40:5"},"nodeType":"YulExpressionStatement","src":"17370:40:5"},{"nodeType":"YulAssignment","src":"17419:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17431:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"17442:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17427:3:5"},"nodeType":"YulFunctionCall","src":"17427:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17419:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_17d9f114efaa93d67eedad749dd7fd16a6895ff93e28b7a30c667a069f2ed42d__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17268:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17282:4:5","type":""}],"src":"17117:334:5"},{"body":{"nodeType":"YulBlock","src":"17630:165:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17647:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"17658:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17640:6:5"},"nodeType":"YulFunctionCall","src":"17640:21:5"},"nodeType":"YulExpressionStatement","src":"17640:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17681:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"17692:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17677:3:5"},"nodeType":"YulFunctionCall","src":"17677:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"17697:2:5","type":"","value":"15"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17670:6:5"},"nodeType":"YulFunctionCall","src":"17670:30:5"},"nodeType":"YulExpressionStatement","src":"17670:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17720:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"17731:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17716:3:5"},"nodeType":"YulFunctionCall","src":"17716:18:5"},{"hexValue":"4261746368206e6f7420666f756e64","kind":"string","nodeType":"YulLiteral","src":"17736:17:5","type":"","value":"Batch not found"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17709:6:5"},"nodeType":"YulFunctionCall","src":"17709:45:5"},"nodeType":"YulExpressionStatement","src":"17709:45:5"},{"nodeType":"YulAssignment","src":"17763:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17775:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"17786:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17771:3:5"},"nodeType":"YulFunctionCall","src":"17771:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"17763:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_da72169ad4f66a2268f3d0d6f19f1623cafa7e891cd0021980bf75380555fddd__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17607:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17621:4:5","type":""}],"src":"17456:339:5"},{"body":{"nodeType":"YulBlock","src":"17974:167:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"17991:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"18002:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17984:6:5"},"nodeType":"YulFunctionCall","src":"17984:21:5"},"nodeType":"YulExpressionStatement","src":"17984:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18025:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"18036:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18021:3:5"},"nodeType":"YulFunctionCall","src":"18021:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"18041:2:5","type":"","value":"17"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18014:6:5"},"nodeType":"YulFunctionCall","src":"18014:30:5"},"nodeType":"YulExpressionStatement","src":"18014:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18064:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"18075:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18060:3:5"},"nodeType":"YulFunctionCall","src":"18060:18:5"},{"hexValue":"426174636820697320726563616c6c6564","kind":"string","nodeType":"YulLiteral","src":"18080:19:5","type":"","value":"Batch is recalled"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18053:6:5"},"nodeType":"YulFunctionCall","src":"18053:47:5"},"nodeType":"YulExpressionStatement","src":"18053:47:5"},{"nodeType":"YulAssignment","src":"18109:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18121:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"18132:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18117:3:5"},"nodeType":"YulFunctionCall","src":"18117:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18109:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_80fbdea07b4ab11d5e8f9f94f5a7289787e0001fa0f855eae1f185f72c015830__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"17951:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"17965:4:5","type":""}],"src":"17800:341:5"},{"body":{"nodeType":"YulBlock","src":"18320:171:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18337:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"18348:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18330:6:5"},"nodeType":"YulFunctionCall","src":"18330:21:5"},"nodeType":"YulExpressionStatement","src":"18330:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18371:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"18382:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18367:3:5"},"nodeType":"YulFunctionCall","src":"18367:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"18387:2:5","type":"","value":"21"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18360:6:5"},"nodeType":"YulFunctionCall","src":"18360:30:5"},"nodeType":"YulExpressionStatement","src":"18360:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18410:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"18421:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18406:3:5"},"nodeType":"YulFunctionCall","src":"18406:18:5"},{"hexValue":"4163746f722063616e6e6f7420626520656d707479","kind":"string","nodeType":"YulLiteral","src":"18426:23:5","type":"","value":"Actor cannot be empty"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18399:6:5"},"nodeType":"YulFunctionCall","src":"18399:51:5"},"nodeType":"YulExpressionStatement","src":"18399:51:5"},{"nodeType":"YulAssignment","src":"18459:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18471:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"18482:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18467:3:5"},"nodeType":"YulFunctionCall","src":"18467:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18459:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_fa44d436dbe876b1dbd642d3d9a35305a5428d9ec35e142e267c3b41cd98a2fa__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18297:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18311:4:5","type":""}],"src":"18146:345:5"},{"body":{"nodeType":"YulBlock","src":"18670:174:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18687:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"18698:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18680:6:5"},"nodeType":"YulFunctionCall","src":"18680:21:5"},"nodeType":"YulExpressionStatement","src":"18680:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18721:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"18732:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18717:3:5"},"nodeType":"YulFunctionCall","src":"18717:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"18737:2:5","type":"","value":"24"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18710:6:5"},"nodeType":"YulFunctionCall","src":"18710:30:5"},"nodeType":"YulExpressionStatement","src":"18710:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18760:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"18771:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18756:3:5"},"nodeType":"YulFunctionCall","src":"18756:18:5"},{"hexValue":"4c6f636174696f6e2063616e6e6f7420626520656d707479","kind":"string","nodeType":"YulLiteral","src":"18776:26:5","type":"","value":"Location cannot be empty"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18749:6:5"},"nodeType":"YulFunctionCall","src":"18749:54:5"},"nodeType":"YulExpressionStatement","src":"18749:54:5"},{"nodeType":"YulAssignment","src":"18812:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"18824:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"18835:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18820:3:5"},"nodeType":"YulFunctionCall","src":"18820:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"18812:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_de6f6fc78129cdf79b4d965b64fbf03531bcfdd1d0b5e1bcd4e0e8de5507fff6__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"18647:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"18661:4:5","type":""}],"src":"18496:348:5"},{"body":{"nodeType":"YulBlock","src":"19023:174:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19040:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"19051:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19033:6:5"},"nodeType":"YulFunctionCall","src":"19033:21:5"},"nodeType":"YulExpressionStatement","src":"19033:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19074:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"19085:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19070:3:5"},"nodeType":"YulFunctionCall","src":"19070:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"19090:2:5","type":"","value":"24"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19063:6:5"},"nodeType":"YulFunctionCall","src":"19063:30:5"},"nodeType":"YulExpressionStatement","src":"19063:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19113:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"19124:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19109:3:5"},"nodeType":"YulFunctionCall","src":"19109:18:5"},{"hexValue":"496e76616c6964207374616765207472616e736974696f6e","kind":"string","nodeType":"YulLiteral","src":"19129:26:5","type":"","value":"Invalid stage transition"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19102:6:5"},"nodeType":"YulFunctionCall","src":"19102:54:5"},"nodeType":"YulExpressionStatement","src":"19102:54:5"},{"nodeType":"YulAssignment","src":"19165:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19177:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"19188:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19173:3:5"},"nodeType":"YulFunctionCall","src":"19173:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19165:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_767e2ea53fc139199379fc937e49b7731ae29e48f66e332570ea39eac372a344__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19000:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19014:4:5","type":""}],"src":"18849:348:5"},{"body":{"nodeType":"YulBlock","src":"19376:179:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19393:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"19404:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19386:6:5"},"nodeType":"YulFunctionCall","src":"19386:21:5"},"nodeType":"YulExpressionStatement","src":"19386:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19427:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"19438:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19423:3:5"},"nodeType":"YulFunctionCall","src":"19423:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"19443:2:5","type":"","value":"29"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19416:6:5"},"nodeType":"YulFunctionCall","src":"19416:30:5"},"nodeType":"YulExpressionStatement","src":"19416:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19466:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"19477:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19462:3:5"},"nodeType":"YulFunctionCall","src":"19462:18:5"},{"hexValue":"526f6c652063616e6e6f74207570646174652074686973207374616765","kind":"string","nodeType":"YulLiteral","src":"19482:31:5","type":"","value":"Role cannot update this stage"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19455:6:5"},"nodeType":"YulFunctionCall","src":"19455:59:5"},"nodeType":"YulExpressionStatement","src":"19455:59:5"},{"nodeType":"YulAssignment","src":"19523:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"19535:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"19546:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"19531:3:5"},"nodeType":"YulFunctionCall","src":"19531:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"19523:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_e351eac8ef6275f0329dbcfc313aa1c3eba7ec2652eed0b435157058bdebbd8b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"19353:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"19367:4:5","type":""}],"src":"19202:353:5"},{"body":{"nodeType":"YulBlock","src":"19615:325:5","statements":[{"nodeType":"YulAssignment","src":"19625:22:5","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19639:1:5","type":"","value":"1"},{"name":"data","nodeType":"YulIdentifier","src":"19642:4:5"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"19635:3:5"},"nodeType":"YulFunctionCall","src":"19635:12:5"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"19625:6:5"}]},{"nodeType":"YulVariableDeclaration","src":"19656:38:5","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"19686:4:5"},{"kind":"number","nodeType":"YulLiteral","src":"19692:1:5","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19682:3:5"},"nodeType":"YulFunctionCall","src":"19682:12:5"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"19660:18:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"19733:31:5","statements":[{"nodeType":"YulAssignment","src":"19735:27:5","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"19749:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"19757:4:5","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"19745:3:5"},"nodeType":"YulFunctionCall","src":"19745:17:5"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"19735:6:5"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"19713:18:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"19706:6:5"},"nodeType":"YulFunctionCall","src":"19706:26:5"},"nodeType":"YulIf","src":"19703:61:5"},{"body":{"nodeType":"YulBlock","src":"19823:111:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19844:1:5","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19851:3:5","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"19856:10:5","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"19847:3:5"},"nodeType":"YulFunctionCall","src":"19847:20:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19837:6:5"},"nodeType":"YulFunctionCall","src":"19837:31:5"},"nodeType":"YulExpressionStatement","src":"19837:31:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19888:1:5","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"19891:4:5","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"19881:6:5"},"nodeType":"YulFunctionCall","src":"19881:15:5"},"nodeType":"YulExpressionStatement","src":"19881:15:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19916:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19919:4:5","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19909:6:5"},"nodeType":"YulFunctionCall","src":"19909:15:5"},"nodeType":"YulExpressionStatement","src":"19909:15:5"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"19779:18:5"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"19802:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"19810:2:5","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"19799:2:5"},"nodeType":"YulFunctionCall","src":"19799:14:5"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"19776:2:5"},"nodeType":"YulFunctionCall","src":"19776:38:5"},"nodeType":"YulIf","src":"19773:161:5"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"19595:4:5","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"19604:6:5","type":""}],"src":"19560:380:5"},{"body":{"nodeType":"YulBlock","src":"20001:65:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20018:1:5","type":"","value":"0"},{"name":"ptr","nodeType":"YulIdentifier","src":"20021:3:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20011:6:5"},"nodeType":"YulFunctionCall","src":"20011:14:5"},"nodeType":"YulExpressionStatement","src":"20011:14:5"},{"nodeType":"YulAssignment","src":"20034:26:5","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20052:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"20055:4:5","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"20042:9:5"},"nodeType":"YulFunctionCall","src":"20042:18:5"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"20034:4:5"}]}]},"name":"array_dataslot_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"19984:3:5","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"19992:4:5","type":""}],"src":"19945:121:5"},{"body":{"nodeType":"YulBlock","src":"20152:464:5","statements":[{"body":{"nodeType":"YulBlock","src":"20185:425:5","statements":[{"nodeType":"YulVariableDeclaration","src":"20199:11:5","value":{"kind":"number","nodeType":"YulLiteral","src":"20209:1:5","type":"","value":"0"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"20203:2:5","type":""}]},{"expression":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"20230:2:5"},{"name":"array","nodeType":"YulIdentifier","src":"20234:5:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"20223:6:5"},"nodeType":"YulFunctionCall","src":"20223:17:5"},"nodeType":"YulExpressionStatement","src":"20223:17:5"},{"nodeType":"YulVariableDeclaration","src":"20253:31:5","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"20275:2:5"},{"kind":"number","nodeType":"YulLiteral","src":"20279:4:5","type":"","value":"0x20"}],"functionName":{"name":"keccak256","nodeType":"YulIdentifier","src":"20265:9:5"},"nodeType":"YulFunctionCall","src":"20265:19:5"},"variables":[{"name":"data","nodeType":"YulTypedName","src":"20257:4:5","type":""}]},{"nodeType":"YulVariableDeclaration","src":"20297:57:5","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"20320:4:5"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20330:1:5","type":"","value":"5"},{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"20337:10:5"},{"kind":"number","nodeType":"YulLiteral","src":"20349:2:5","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20333:3:5"},"nodeType":"YulFunctionCall","src":"20333:19:5"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"20326:3:5"},"nodeType":"YulFunctionCall","src":"20326:27:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20316:3:5"},"nodeType":"YulFunctionCall","src":"20316:38:5"},"variables":[{"name":"deleteStart","nodeType":"YulTypedName","src":"20301:11:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"20391:23:5","statements":[{"nodeType":"YulAssignment","src":"20393:19:5","value":{"name":"data","nodeType":"YulIdentifier","src":"20408:4:5"},"variableNames":[{"name":"deleteStart","nodeType":"YulIdentifier","src":"20393:11:5"}]}]},"condition":{"arguments":[{"name":"startIndex","nodeType":"YulIdentifier","src":"20373:10:5"},{"kind":"number","nodeType":"YulLiteral","src":"20385:4:5","type":"","value":"0x20"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"20370:2:5"},"nodeType":"YulFunctionCall","src":"20370:20:5"},"nodeType":"YulIf","src":"20367:47:5"},{"nodeType":"YulVariableDeclaration","src":"20427:41:5","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"20441:4:5"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20451:1:5","type":"","value":"5"},{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"20458:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"20463:2:5","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20454:3:5"},"nodeType":"YulFunctionCall","src":"20454:12:5"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"20447:3:5"},"nodeType":"YulFunctionCall","src":"20447:20:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20437:3:5"},"nodeType":"YulFunctionCall","src":"20437:31:5"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"20431:2:5","type":""}]},{"nodeType":"YulVariableDeclaration","src":"20481:24:5","value":{"name":"deleteStart","nodeType":"YulIdentifier","src":"20494:11:5"},"variables":[{"name":"start","nodeType":"YulTypedName","src":"20485:5:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"20579:21:5","statements":[{"expression":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"20588:5:5"},{"name":"_1","nodeType":"YulIdentifier","src":"20595:2:5"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"20581:6:5"},"nodeType":"YulFunctionCall","src":"20581:17:5"},"nodeType":"YulExpressionStatement","src":"20581:17:5"}]},"condition":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"20529:5:5"},{"name":"_2","nodeType":"YulIdentifier","src":"20536:2:5"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"20526:2:5"},"nodeType":"YulFunctionCall","src":"20526:13:5"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"20540:26:5","statements":[{"nodeType":"YulAssignment","src":"20542:22:5","value":{"arguments":[{"name":"start","nodeType":"YulIdentifier","src":"20555:5:5"},{"kind":"number","nodeType":"YulLiteral","src":"20562:1:5","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"20551:3:5"},"nodeType":"YulFunctionCall","src":"20551:13:5"},"variableNames":[{"name":"start","nodeType":"YulIdentifier","src":"20542:5:5"}]}]},"pre":{"nodeType":"YulBlock","src":"20522:3:5","statements":[]},"src":"20518:82:5"}]},"condition":{"arguments":[{"name":"len","nodeType":"YulIdentifier","src":"20168:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"20173:2:5","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20165:2:5"},"nodeType":"YulFunctionCall","src":"20165:11:5"},"nodeType":"YulIf","src":"20162:448:5"}]},"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"array","nodeType":"YulTypedName","src":"20124:5:5","type":""},{"name":"len","nodeType":"YulTypedName","src":"20131:3:5","type":""},{"name":"startIndex","nodeType":"YulTypedName","src":"20136:10:5","type":""}],"src":"20071:545:5"},{"body":{"nodeType":"YulBlock","src":"20706:81:5","statements":[{"nodeType":"YulAssignment","src":"20716:65:5","value":{"arguments":[{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"20731:4:5"},{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20749:1:5","type":"","value":"3"},{"name":"len","nodeType":"YulIdentifier","src":"20752:3:5"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"20745:3:5"},"nodeType":"YulFunctionCall","src":"20745:11:5"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20762:1:5","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"20758:3:5"},"nodeType":"YulFunctionCall","src":"20758:6:5"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"20741:3:5"},"nodeType":"YulFunctionCall","src":"20741:24:5"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"20737:3:5"},"nodeType":"YulFunctionCall","src":"20737:29:5"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"20727:3:5"},"nodeType":"YulFunctionCall","src":"20727:40:5"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"20773:1:5","type":"","value":"1"},{"name":"len","nodeType":"YulIdentifier","src":"20776:3:5"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"20769:3:5"},"nodeType":"YulFunctionCall","src":"20769:11:5"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"20724:2:5"},"nodeType":"YulFunctionCall","src":"20724:57:5"},"variableNames":[{"name":"used","nodeType":"YulIdentifier","src":"20716:4:5"}]}]},"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"20683:4:5","type":""},{"name":"len","nodeType":"YulTypedName","src":"20689:3:5","type":""}],"returnVariables":[{"name":"used","nodeType":"YulTypedName","src":"20697:4:5","type":""}],"src":"20621:166:5"},{"body":{"nodeType":"YulBlock","src":"20888:1256:5","statements":[{"nodeType":"YulVariableDeclaration","src":"20898:24:5","value":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"20918:3:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"20912:5:5"},"nodeType":"YulFunctionCall","src":"20912:10:5"},"variables":[{"name":"newLen","nodeType":"YulTypedName","src":"20902:6:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"20965:22:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"20967:16:5"},"nodeType":"YulFunctionCall","src":"20967:18:5"},"nodeType":"YulExpressionStatement","src":"20967:18:5"}]},"condition":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"20937:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"20945:18:5","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"20934:2:5"},"nodeType":"YulFunctionCall","src":"20934:30:5"},"nodeType":"YulIf","src":"20931:56:5"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"21040:4:5"},{"arguments":[{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"21078:4:5"}],"functionName":{"name":"sload","nodeType":"YulIdentifier","src":"21072:5:5"},"nodeType":"YulFunctionCall","src":"21072:11:5"}],"functionName":{"name":"extract_byte_array_length","nodeType":"YulIdentifier","src":"21046:25:5"},"nodeType":"YulFunctionCall","src":"21046:38:5"},{"name":"newLen","nodeType":"YulIdentifier","src":"21086:6:5"}],"functionName":{"name":"clean_up_bytearray_end_slots_string_storage","nodeType":"YulIdentifier","src":"20996:43:5"},"nodeType":"YulFunctionCall","src":"20996:97:5"},"nodeType":"YulExpressionStatement","src":"20996:97:5"},{"nodeType":"YulVariableDeclaration","src":"21102:18:5","value":{"kind":"number","nodeType":"YulLiteral","src":"21119:1:5","type":"","value":"0"},"variables":[{"name":"srcOffset","nodeType":"YulTypedName","src":"21106:9:5","type":""}]},{"nodeType":"YulVariableDeclaration","src":"21129:23:5","value":{"kind":"number","nodeType":"YulLiteral","src":"21148:4:5","type":"","value":"0x20"},"variables":[{"name":"srcOffset_1","nodeType":"YulTypedName","src":"21133:11:5","type":""}]},{"nodeType":"YulAssignment","src":"21161:24:5","value":{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"21174:11:5"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"21161:9:5"}]},{"cases":[{"body":{"nodeType":"YulBlock","src":"21231:656:5","statements":[{"nodeType":"YulVariableDeclaration","src":"21245:35:5","value":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"21264:6:5"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21276:2:5","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"21272:3:5"},"nodeType":"YulFunctionCall","src":"21272:7:5"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21260:3:5"},"nodeType":"YulFunctionCall","src":"21260:20:5"},"variables":[{"name":"loopEnd","nodeType":"YulTypedName","src":"21249:7:5","type":""}]},{"nodeType":"YulVariableDeclaration","src":"21293:49:5","value":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"21337:4:5"}],"functionName":{"name":"array_dataslot_string_storage","nodeType":"YulIdentifier","src":"21307:29:5"},"nodeType":"YulFunctionCall","src":"21307:35:5"},"variables":[{"name":"dstPtr","nodeType":"YulTypedName","src":"21297:6:5","type":""}]},{"nodeType":"YulVariableDeclaration","src":"21355:10:5","value":{"kind":"number","nodeType":"YulLiteral","src":"21364:1:5","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"21359:1:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"21442:172:5","statements":[{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"21467:6:5"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"21485:3:5"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"21490:9:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21481:3:5"},"nodeType":"YulFunctionCall","src":"21481:19:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21475:5:5"},"nodeType":"YulFunctionCall","src":"21475:26:5"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"21460:6:5"},"nodeType":"YulFunctionCall","src":"21460:42:5"},"nodeType":"YulExpressionStatement","src":"21460:42:5"},{"nodeType":"YulAssignment","src":"21519:24:5","value":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"21533:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"21541:1:5","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21529:3:5"},"nodeType":"YulFunctionCall","src":"21529:14:5"},"variableNames":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"21519:6:5"}]},{"nodeType":"YulAssignment","src":"21560:40:5","value":{"arguments":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"21577:9:5"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"21588:11:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21573:3:5"},"nodeType":"YulFunctionCall","src":"21573:27:5"},"variableNames":[{"name":"srcOffset","nodeType":"YulIdentifier","src":"21560:9:5"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"21389:1:5"},{"name":"loopEnd","nodeType":"YulIdentifier","src":"21392:7:5"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"21386:2:5"},"nodeType":"YulFunctionCall","src":"21386:14:5"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"21401:28:5","statements":[{"nodeType":"YulAssignment","src":"21403:24:5","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"21412:1:5"},{"name":"srcOffset_1","nodeType":"YulIdentifier","src":"21415:11:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21408:3:5"},"nodeType":"YulFunctionCall","src":"21408:19:5"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"21403:1:5"}]}]},"pre":{"nodeType":"YulBlock","src":"21382:3:5","statements":[]},"src":"21378:236:5"},{"body":{"nodeType":"YulBlock","src":"21662:166:5","statements":[{"nodeType":"YulVariableDeclaration","src":"21680:43:5","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"21707:3:5"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"21712:9:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21703:3:5"},"nodeType":"YulFunctionCall","src":"21703:19:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21697:5:5"},"nodeType":"YulFunctionCall","src":"21697:26:5"},"variables":[{"name":"lastValue","nodeType":"YulTypedName","src":"21684:9:5","type":""}]},{"expression":{"arguments":[{"name":"dstPtr","nodeType":"YulIdentifier","src":"21747:6:5"},{"arguments":[{"name":"lastValue","nodeType":"YulIdentifier","src":"21759:9:5"},{"arguments":[{"arguments":[{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21786:1:5","type":"","value":"3"},{"name":"newLen","nodeType":"YulIdentifier","src":"21789:6:5"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"21782:3:5"},"nodeType":"YulFunctionCall","src":"21782:14:5"},{"kind":"number","nodeType":"YulLiteral","src":"21798:3:5","type":"","value":"248"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21778:3:5"},"nodeType":"YulFunctionCall","src":"21778:24:5"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21808:1:5","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"21804:3:5"},"nodeType":"YulFunctionCall","src":"21804:6:5"}],"functionName":{"name":"shr","nodeType":"YulIdentifier","src":"21774:3:5"},"nodeType":"YulFunctionCall","src":"21774:37:5"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"21770:3:5"},"nodeType":"YulFunctionCall","src":"21770:42:5"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"21755:3:5"},"nodeType":"YulFunctionCall","src":"21755:58:5"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"21740:6:5"},"nodeType":"YulFunctionCall","src":"21740:74:5"},"nodeType":"YulExpressionStatement","src":"21740:74:5"}]},"condition":{"arguments":[{"name":"loopEnd","nodeType":"YulIdentifier","src":"21633:7:5"},{"name":"newLen","nodeType":"YulIdentifier","src":"21642:6:5"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"21630:2:5"},"nodeType":"YulFunctionCall","src":"21630:19:5"},"nodeType":"YulIf","src":"21627:201:5"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"21848:4:5"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"21862:1:5","type":"","value":"1"},{"name":"newLen","nodeType":"YulIdentifier","src":"21865:6:5"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"21858:3:5"},"nodeType":"YulFunctionCall","src":"21858:14:5"},{"kind":"number","nodeType":"YulLiteral","src":"21874:1:5","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"21854:3:5"},"nodeType":"YulFunctionCall","src":"21854:22:5"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"21841:6:5"},"nodeType":"YulFunctionCall","src":"21841:36:5"},"nodeType":"YulExpressionStatement","src":"21841:36:5"}]},"nodeType":"YulCase","src":"21224:663:5","value":{"kind":"number","nodeType":"YulLiteral","src":"21229:1:5","type":"","value":"1"}},{"body":{"nodeType":"YulBlock","src":"21904:234:5","statements":[{"nodeType":"YulVariableDeclaration","src":"21918:14:5","value":{"kind":"number","nodeType":"YulLiteral","src":"21931:1:5","type":"","value":"0"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"21922:5:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"21967:67:5","statements":[{"nodeType":"YulAssignment","src":"21985:35:5","value":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"22004:3:5"},{"name":"srcOffset","nodeType":"YulIdentifier","src":"22009:9:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22000:3:5"},"nodeType":"YulFunctionCall","src":"22000:19:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"21994:5:5"},"nodeType":"YulFunctionCall","src":"21994:26:5"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"21985:5:5"}]}]},"condition":{"name":"newLen","nodeType":"YulIdentifier","src":"21948:6:5"},"nodeType":"YulIf","src":"21945:89:5"},{"expression":{"arguments":[{"name":"slot","nodeType":"YulIdentifier","src":"22054:4:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"22113:5:5"},{"name":"newLen","nodeType":"YulIdentifier","src":"22120:6:5"}],"functionName":{"name":"extract_used_part_and_set_length_of_short_byte_array","nodeType":"YulIdentifier","src":"22060:52:5"},"nodeType":"YulFunctionCall","src":"22060:67:5"}],"functionName":{"name":"sstore","nodeType":"YulIdentifier","src":"22047:6:5"},"nodeType":"YulFunctionCall","src":"22047:81:5"},"nodeType":"YulExpressionStatement","src":"22047:81:5"}]},"nodeType":"YulCase","src":"21896:242:5","value":"default"}],"expression":{"arguments":[{"name":"newLen","nodeType":"YulIdentifier","src":"21204:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"21212:2:5","type":"","value":"31"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"21201:2:5"},"nodeType":"YulFunctionCall","src":"21201:14:5"},"nodeType":"YulSwitch","src":"21194:944:5"}]},"name":"copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage","nodeType":"YulFunctionDefinition","parameters":[{"name":"slot","nodeType":"YulTypedName","src":"20873:4:5","type":""},{"name":"src","nodeType":"YulTypedName","src":"20879:3:5","type":""}],"src":"20792:1352:5"},{"body":{"nodeType":"YulBlock","src":"22352:272:5","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"22384:6:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"22392:9:5"}],"functionName":{"name":"abi_encode_enum_Stage","nodeType":"YulIdentifier","src":"22362:21:5"},"nodeType":"YulFunctionCall","src":"22362:40:5"},"nodeType":"YulExpressionStatement","src":"22362:40:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22422:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"22433:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22418:3:5"},"nodeType":"YulFunctionCall","src":"22418:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"22438:2:5","type":"","value":"96"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22411:6:5"},"nodeType":"YulFunctionCall","src":"22411:30:5"},"nodeType":"YulExpressionStatement","src":"22411:30:5"},{"nodeType":"YulVariableDeclaration","src":"22450:59:5","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"22482:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22494:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"22505:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22490:3:5"},"nodeType":"YulFunctionCall","src":"22490:18:5"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"22464:17:5"},"nodeType":"YulFunctionCall","src":"22464:45:5"},"variables":[{"name":"tail_1","nodeType":"YulTypedName","src":"22454:6:5","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22529:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"22540:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22525:3:5"},"nodeType":"YulFunctionCall","src":"22525:18:5"},{"arguments":[{"name":"tail_1","nodeType":"YulIdentifier","src":"22549:6:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"22557:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"22545:3:5"},"nodeType":"YulFunctionCall","src":"22545:22:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22518:6:5"},"nodeType":"YulFunctionCall","src":"22518:50:5"},"nodeType":"YulExpressionStatement","src":"22518:50:5"},{"nodeType":"YulAssignment","src":"22577:41:5","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"22603:6:5"},{"name":"tail_1","nodeType":"YulIdentifier","src":"22611:6:5"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"22585:17:5"},"nodeType":"YulFunctionCall","src":"22585:33:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22577:4:5"}]}]},"name":"abi_encode_tuple_t_enum$_Stage_$12_t_string_memory_ptr_t_string_memory_ptr__to_t_uint8_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22305:9:5","type":""},{"name":"value2","nodeType":"YulTypedName","src":"22316:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"22324:6:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"22332:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22343:4:5","type":""}],"src":"22149:475:5"},{"body":{"nodeType":"YulBlock","src":"22803:170:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22820:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"22831:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22813:6:5"},"nodeType":"YulFunctionCall","src":"22813:21:5"},"nodeType":"YulExpressionStatement","src":"22813:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22854:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"22865:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22850:3:5"},"nodeType":"YulFunctionCall","src":"22850:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"22870:2:5","type":"","value":"20"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22843:6:5"},"nodeType":"YulFunctionCall","src":"22843:30:5"},"nodeType":"YulExpressionStatement","src":"22843:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22893:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"22904:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22889:3:5"},"nodeType":"YulFunctionCall","src":"22889:18:5"},{"hexValue":"426174636820616c726561647920657869737473","kind":"string","nodeType":"YulLiteral","src":"22909:22:5","type":"","value":"Batch already exists"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"22882:6:5"},"nodeType":"YulFunctionCall","src":"22882:50:5"},"nodeType":"YulExpressionStatement","src":"22882:50:5"},{"nodeType":"YulAssignment","src":"22941:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"22953:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"22964:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"22949:3:5"},"nodeType":"YulFunctionCall","src":"22949:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"22941:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_29b48ae655aa3ee2f7612336d700663183d24df877fd7c5da8ae0435034680f0__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"22780:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"22794:4:5","type":""}],"src":"22629:344:5"},{"body":{"nodeType":"YulBlock","src":"23152:174:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23169:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"23180:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23162:6:5"},"nodeType":"YulFunctionCall","src":"23162:21:5"},"nodeType":"YulExpressionStatement","src":"23162:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23203:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"23214:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23199:3:5"},"nodeType":"YulFunctionCall","src":"23199:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"23219:2:5","type":"","value":"24"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23192:6:5"},"nodeType":"YulFunctionCall","src":"23192:30:5"},"nodeType":"YulExpressionStatement","src":"23192:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23242:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"23253:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23238:3:5"},"nodeType":"YulFunctionCall","src":"23238:18:5"},{"hexValue":"42617463682049442063616e6e6f7420626520656d707479","kind":"string","nodeType":"YulLiteral","src":"23258:26:5","type":"","value":"Batch ID cannot be empty"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23231:6:5"},"nodeType":"YulFunctionCall","src":"23231:54:5"},"nodeType":"YulExpressionStatement","src":"23231:54:5"},{"nodeType":"YulAssignment","src":"23294:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23306:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"23317:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23302:3:5"},"nodeType":"YulFunctionCall","src":"23302:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23294:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_981f2ffe11689b3b7d7ac1e8cc477cc12f592477f4819e25b64688f4dd38b177__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23129:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23143:4:5","type":""}],"src":"22978:348:5"},{"body":{"nodeType":"YulBlock","src":"23505:177:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23522:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"23533:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23515:6:5"},"nodeType":"YulFunctionCall","src":"23515:21:5"},"nodeType":"YulExpressionStatement","src":"23515:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23556:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"23567:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23552:3:5"},"nodeType":"YulFunctionCall","src":"23552:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"23572:2:5","type":"","value":"27"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23545:6:5"},"nodeType":"YulFunctionCall","src":"23545:30:5"},"nodeType":"YulExpressionStatement","src":"23545:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23595:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"23606:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23591:3:5"},"nodeType":"YulFunctionCall","src":"23591:18:5"},{"hexValue":"4661726d6572206e616d652063616e6e6f7420626520656d707479","kind":"string","nodeType":"YulLiteral","src":"23611:29:5","type":"","value":"Farmer name cannot be empty"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23584:6:5"},"nodeType":"YulFunctionCall","src":"23584:57:5"},"nodeType":"YulExpressionStatement","src":"23584:57:5"},{"nodeType":"YulAssignment","src":"23650:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23662:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"23673:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23658:3:5"},"nodeType":"YulFunctionCall","src":"23658:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"23650:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_45cfc403798a12f528b4df18b8fbca10a33453a1a7a9e4ea48592d76a9c646f1__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23482:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23496:4:5","type":""}],"src":"23331:351:5"},{"body":{"nodeType":"YulBlock","src":"23861:180:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23878:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"23889:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23871:6:5"},"nodeType":"YulFunctionCall","src":"23871:21:5"},"nodeType":"YulExpressionStatement","src":"23871:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23912:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"23923:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23908:3:5"},"nodeType":"YulFunctionCall","src":"23908:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"23928:2:5","type":"","value":"30"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23901:6:5"},"nodeType":"YulFunctionCall","src":"23901:30:5"},"nodeType":"YulExpressionStatement","src":"23901:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"23951:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"23962:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"23947:3:5"},"nodeType":"YulFunctionCall","src":"23947:18:5"},{"hexValue":"4661726d657220616464726573732063616e6e6f7420626520656d707479","kind":"string","nodeType":"YulLiteral","src":"23967:32:5","type":"","value":"Farmer address cannot be empty"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"23940:6:5"},"nodeType":"YulFunctionCall","src":"23940:60:5"},"nodeType":"YulExpressionStatement","src":"23940:60:5"},{"nodeType":"YulAssignment","src":"24009:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24021:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"24032:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24017:3:5"},"nodeType":"YulFunctionCall","src":"24017:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24009:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_252cb7a172bac3f6ced5e82b4e7e4ae614f888a2d313e753a0adcf25515cc612__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"23838:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"23852:4:5","type":""}],"src":"23687:354:5"},{"body":{"nodeType":"YulBlock","src":"24220:178:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24237:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"24248:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24230:6:5"},"nodeType":"YulFunctionCall","src":"24230:21:5"},"nodeType":"YulExpressionStatement","src":"24230:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24271:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"24282:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24267:3:5"},"nodeType":"YulFunctionCall","src":"24267:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"24287:2:5","type":"","value":"28"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24260:6:5"},"nodeType":"YulFunctionCall","src":"24260:30:5"},"nodeType":"YulExpressionStatement","src":"24260:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24310:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"24321:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24306:3:5"},"nodeType":"YulFunctionCall","src":"24306:18:5"},{"hexValue":"4861727665737420646174652063616e6e6f7420626520656d707479","kind":"string","nodeType":"YulLiteral","src":"24326:30:5","type":"","value":"Harvest date cannot be empty"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24299:6:5"},"nodeType":"YulFunctionCall","src":"24299:58:5"},"nodeType":"YulExpressionStatement","src":"24299:58:5"},{"nodeType":"YulAssignment","src":"24366:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24378:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"24389:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24374:3:5"},"nodeType":"YulFunctionCall","src":"24374:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24366:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_ef49152423528776437b09295e6753738a761ef844bbae45657eb2b302cd6b35__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24197:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24211:4:5","type":""}],"src":"24046:352:5"},{"body":{"nodeType":"YulBlock","src":"24577:172:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24594:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"24605:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24587:6:5"},"nodeType":"YulFunctionCall","src":"24587:21:5"},"nodeType":"YulExpressionStatement","src":"24587:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24628:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"24639:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24624:3:5"},"nodeType":"YulFunctionCall","src":"24624:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"24644:2:5","type":"","value":"22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24617:6:5"},"nodeType":"YulFunctionCall","src":"24617:30:5"},"nodeType":"YulExpressionStatement","src":"24617:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24667:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"24678:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24663:3:5"},"nodeType":"YulFunctionCall","src":"24663:18:5"},{"hexValue":"4f726967696e2063616e6e6f7420626520656d707479","kind":"string","nodeType":"YulLiteral","src":"24683:24:5","type":"","value":"Origin cannot be empty"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24656:6:5"},"nodeType":"YulFunctionCall","src":"24656:52:5"},"nodeType":"YulExpressionStatement","src":"24656:52:5"},{"nodeType":"YulAssignment","src":"24717:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24729:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"24740:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24725:3:5"},"nodeType":"YulFunctionCall","src":"24725:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"24717:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_810c256df7e5d41acbd662e3c3b0be249f9bd6cf5f43ceb24d1d9f9faad3dc2a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24554:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24568:4:5","type":""}],"src":"24403:346:5"},{"body":{"nodeType":"YulBlock","src":"24928:181:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24945:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"24956:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24938:6:5"},"nodeType":"YulFunctionCall","src":"24938:21:5"},"nodeType":"YulExpressionStatement","src":"24938:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"24979:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"24990:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"24975:3:5"},"nodeType":"YulFunctionCall","src":"24975:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"24995:2:5","type":"","value":"31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"24968:6:5"},"nodeType":"YulFunctionCall","src":"24968:30:5"},"nodeType":"YulExpressionStatement","src":"24968:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25018:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"25029:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25014:3:5"},"nodeType":"YulFunctionCall","src":"25014:18:5"},{"hexValue":"5175616e74697479206d7573742062652067726561746572207468616e2030","kind":"string","nodeType":"YulLiteral","src":"25034:33:5","type":"","value":"Quantity must be greater than 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25007:6:5"},"nodeType":"YulFunctionCall","src":"25007:61:5"},"nodeType":"YulExpressionStatement","src":"25007:61:5"},{"nodeType":"YulAssignment","src":"25077:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"25089:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"25100:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25085:3:5"},"nodeType":"YulFunctionCall","src":"25085:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"25077:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_0256b2f79971b33d79a70471e25342b40a29973a9924f7bf65b61d253cc5e2ad__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"24905:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"24919:4:5","type":""}],"src":"24754:355:5"},{"body":{"nodeType":"YulBlock","src":"25759:798:5","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25776:3:5"},{"hexValue":"43726f703a","kind":"string","nodeType":"YulLiteral","src":"25781:7:5","type":"","value":"Crop:"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25769:6:5"},"nodeType":"YulFunctionCall","src":"25769:20:5"},"nodeType":"YulExpressionStatement","src":"25769:20:5"},{"nodeType":"YulVariableDeclaration","src":"25798:27:5","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"25818:6:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"25812:5:5"},"nodeType":"YulFunctionCall","src":"25812:13:5"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"25802:6:5","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"25873:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"25881:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25869:3:5"},"nodeType":"YulFunctionCall","src":"25869:17:5"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25892:3:5"},{"kind":"number","nodeType":"YulLiteral","src":"25897:1:5","type":"","value":"5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25888:3:5"},"nodeType":"YulFunctionCall","src":"25888:11:5"},{"name":"length","nodeType":"YulIdentifier","src":"25901:6:5"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"25834:34:5"},"nodeType":"YulFunctionCall","src":"25834:74:5"},"nodeType":"YulExpressionStatement","src":"25834:74:5"},{"nodeType":"YulVariableDeclaration","src":"25917:26:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"25931:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"25936:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25927:3:5"},"nodeType":"YulFunctionCall","src":"25927:16:5"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"25921:2:5","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"25963:2:5"},{"kind":"number","nodeType":"YulLiteral","src":"25967:1:5","type":"","value":"5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"25959:3:5"},"nodeType":"YulFunctionCall","src":"25959:10:5"},{"hexValue":"3b20486172766573743a","kind":"string","nodeType":"YulLiteral","src":"25971:12:5","type":"","value":"; Harvest:"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"25952:6:5"},"nodeType":"YulFunctionCall","src":"25952:32:5"},"nodeType":"YulExpressionStatement","src":"25952:32:5"},{"nodeType":"YulVariableDeclaration","src":"25993:29:5","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"26015:6:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"26009:5:5"},"nodeType":"YulFunctionCall","src":"26009:13:5"},"variables":[{"name":"length_1","nodeType":"YulTypedName","src":"25997:8:5","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"26070:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"26078:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26066:3:5"},"nodeType":"YulFunctionCall","src":"26066:17:5"},{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"26089:2:5"},{"kind":"number","nodeType":"YulLiteral","src":"26093:2:5","type":"","value":"15"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26085:3:5"},"nodeType":"YulFunctionCall","src":"26085:11:5"},{"name":"length_1","nodeType":"YulIdentifier","src":"26098:8:5"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"26031:34:5"},"nodeType":"YulFunctionCall","src":"26031:76:5"},"nodeType":"YulExpressionStatement","src":"26031:76:5"},{"nodeType":"YulVariableDeclaration","src":"26116:27:5","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"26130:2:5"},{"name":"length_1","nodeType":"YulIdentifier","src":"26134:8:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26126:3:5"},"nodeType":"YulFunctionCall","src":"26126:17:5"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"26120:2:5","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"26163:2:5"},{"kind":"number","nodeType":"YulLiteral","src":"26167:2:5","type":"","value":"15"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26159:3:5"},"nodeType":"YulFunctionCall","src":"26159:11:5"},{"hexValue":"3b204661726d6572416464723a","kind":"string","nodeType":"YulLiteral","src":"26172:15:5","type":"","value":"; FarmerAddr:"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26152:6:5"},"nodeType":"YulFunctionCall","src":"26152:36:5"},"nodeType":"YulExpressionStatement","src":"26152:36:5"},{"nodeType":"YulVariableDeclaration","src":"26197:29:5","value":{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"26219:6:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"26213:5:5"},"nodeType":"YulFunctionCall","src":"26213:13:5"},"variables":[{"name":"length_2","nodeType":"YulTypedName","src":"26201:8:5","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value2","nodeType":"YulIdentifier","src":"26274:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"26282:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26270:3:5"},"nodeType":"YulFunctionCall","src":"26270:17:5"},{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"26293:2:5"},{"kind":"number","nodeType":"YulLiteral","src":"26297:2:5","type":"","value":"28"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26289:3:5"},"nodeType":"YulFunctionCall","src":"26289:11:5"},{"name":"length_2","nodeType":"YulIdentifier","src":"26302:8:5"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"26235:34:5"},"nodeType":"YulFunctionCall","src":"26235:76:5"},"nodeType":"YulExpressionStatement","src":"26235:76:5"},{"nodeType":"YulVariableDeclaration","src":"26320:27:5","value":{"arguments":[{"name":"_2","nodeType":"YulIdentifier","src":"26334:2:5"},{"name":"length_2","nodeType":"YulIdentifier","src":"26338:8:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26330:3:5"},"nodeType":"YulFunctionCall","src":"26330:17:5"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"26324:2:5","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"26367:2:5"},{"kind":"number","nodeType":"YulLiteral","src":"26371:2:5","type":"","value":"28"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26363:3:5"},"nodeType":"YulFunctionCall","src":"26363:11:5"},{"hexValue":"3b20436572743a","kind":"string","nodeType":"YulLiteral","src":"26376:9:5","type":"","value":"; Cert:"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26356:6:5"},"nodeType":"YulFunctionCall","src":"26356:30:5"},"nodeType":"YulExpressionStatement","src":"26356:30:5"},{"nodeType":"YulVariableDeclaration","src":"26395:29:5","value":{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"26417:6:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"26411:5:5"},"nodeType":"YulFunctionCall","src":"26411:13:5"},"variables":[{"name":"length_3","nodeType":"YulTypedName","src":"26399:8:5","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value3","nodeType":"YulIdentifier","src":"26472:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"26480:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26468:3:5"},"nodeType":"YulFunctionCall","src":"26468:17:5"},{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"26491:2:5"},{"kind":"number","nodeType":"YulLiteral","src":"26495:2:5","type":"","value":"35"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26487:3:5"},"nodeType":"YulFunctionCall","src":"26487:11:5"},{"name":"length_3","nodeType":"YulIdentifier","src":"26500:8:5"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"26433:34:5"},"nodeType":"YulFunctionCall","src":"26433:76:5"},"nodeType":"YulExpressionStatement","src":"26433:76:5"},{"nodeType":"YulAssignment","src":"26518:33:5","value":{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"26533:2:5"},{"name":"length_3","nodeType":"YulIdentifier","src":"26537:8:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26529:3:5"},"nodeType":"YulFunctionCall","src":"26529:17:5"},{"kind":"number","nodeType":"YulLiteral","src":"26548:2:5","type":"","value":"35"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26525:3:5"},"nodeType":"YulFunctionCall","src":"26525:26:5"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"26518:3:5"}]}]},"name":"abi_encode_tuple_packed_t_stringliteral_8f5768c0b35d831c84e5fc6fd3ab7119cfd8730024de763aa6075843c559758f_t_string_memory_ptr_t_stringliteral_af18909f0959c5cf9bc8d471cf99331a51f729dfa2dbfd6adb9e95018e34d33e_t_string_memory_ptr_t_stringliteral_f86b0ef76ea68879519c38b93596c686d665b7a3ae754a0c3a12f8894d70ff31_t_string_memory_ptr_t_stringliteral_791a5de3ff11c5bbe83406d7b1fc01d759d4dbf64786d51bc05408382d1f6b13_t_string_memory_ptr__to_t_bytes5_t_string_memory_ptr_t_bytes10_t_string_memory_ptr_t_bytes13_t_string_memory_ptr_t_bytes7_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"25711:3:5","type":""},{"name":"value3","nodeType":"YulTypedName","src":"25716:6:5","type":""},{"name":"value2","nodeType":"YulTypedName","src":"25724:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"25732:6:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"25740:6:5","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"25751:3:5","type":""}],"src":"25114:1443:5"},{"body":{"nodeType":"YulBlock","src":"26711:142:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26728:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"26739:2:5","type":"","value":"64"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26721:6:5"},"nodeType":"YulFunctionCall","src":"26721:21:5"},"nodeType":"YulExpressionStatement","src":"26721:21:5"},{"nodeType":"YulAssignment","src":"26751:53:5","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"26777:6:5"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26789:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"26800:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26785:3:5"},"nodeType":"YulFunctionCall","src":"26785:18:5"}],"functionName":{"name":"abi_encode_string","nodeType":"YulIdentifier","src":"26759:17:5"},"nodeType":"YulFunctionCall","src":"26759:45:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"26751:4:5"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"26824:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"26835:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"26820:3:5"},"nodeType":"YulFunctionCall","src":"26820:18:5"},{"name":"value1","nodeType":"YulIdentifier","src":"26840:6:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"26813:6:5"},"nodeType":"YulFunctionCall","src":"26813:34:5"},"nodeType":"YulExpressionStatement","src":"26813:34:5"}]},"name":"abi_encode_tuple_t_string_memory_ptr_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"26672:9:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"26683:6:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26691:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"26702:4:5","type":""}],"src":"26562:291:5"},{"body":{"nodeType":"YulBlock","src":"26997:150:5","statements":[{"nodeType":"YulVariableDeclaration","src":"27007:27:5","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"27027:6:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"27021:5:5"},"nodeType":"YulFunctionCall","src":"27021:13:5"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"27011:6:5","type":""}]},{"expression":{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"27082:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"27090:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27078:3:5"},"nodeType":"YulFunctionCall","src":"27078:17:5"},{"name":"pos","nodeType":"YulIdentifier","src":"27097:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"27102:6:5"}],"functionName":{"name":"copy_memory_to_memory_with_cleanup","nodeType":"YulIdentifier","src":"27043:34:5"},"nodeType":"YulFunctionCall","src":"27043:66:5"},"nodeType":"YulExpressionStatement","src":"27043:66:5"},{"nodeType":"YulAssignment","src":"27118:23:5","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"27129:3:5"},{"name":"length","nodeType":"YulIdentifier","src":"27134:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27125:3:5"},"nodeType":"YulFunctionCall","src":"27125:16:5"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"27118:3:5"}]}]},"name":"abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"26973:3:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"26978:6:5","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"26989:3:5","type":""}],"src":"26858:289:5"},{"body":{"nodeType":"YulBlock","src":"27326:165:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27343:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"27354:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27336:6:5"},"nodeType":"YulFunctionCall","src":"27336:21:5"},"nodeType":"YulExpressionStatement","src":"27336:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27377:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"27388:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27373:3:5"},"nodeType":"YulFunctionCall","src":"27373:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"27393:2:5","type":"","value":"15"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27366:6:5"},"nodeType":"YulFunctionCall","src":"27366:30:5"},"nodeType":"YulExpressionStatement","src":"27366:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27416:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"27427:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27412:3:5"},"nodeType":"YulFunctionCall","src":"27412:18:5"},{"hexValue":"496e76616c69642061646472657373","kind":"string","nodeType":"YulLiteral","src":"27432:17:5","type":"","value":"Invalid address"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27405:6:5"},"nodeType":"YulFunctionCall","src":"27405:45:5"},"nodeType":"YulExpressionStatement","src":"27405:45:5"},{"nodeType":"YulAssignment","src":"27459:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27471:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"27482:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27467:3:5"},"nodeType":"YulFunctionCall","src":"27467:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"27459:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27303:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"27317:4:5","type":""}],"src":"27152:339:5"},{"body":{"nodeType":"YulBlock","src":"27670:160:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27687:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"27698:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27680:6:5"},"nodeType":"YulFunctionCall","src":"27680:21:5"},"nodeType":"YulExpressionStatement","src":"27680:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27721:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"27732:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27717:3:5"},"nodeType":"YulFunctionCall","src":"27717:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"27737:2:5","type":"","value":"10"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27710:6:5"},"nodeType":"YulFunctionCall","src":"27710:30:5"},"nodeType":"YulExpressionStatement","src":"27710:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27760:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"27771:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27756:3:5"},"nodeType":"YulFunctionCall","src":"27756:18:5"},{"hexValue":"4e6f2075706461746573","kind":"string","nodeType":"YulLiteral","src":"27776:12:5","type":"","value":"No updates"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"27749:6:5"},"nodeType":"YulFunctionCall","src":"27749:40:5"},"nodeType":"YulExpressionStatement","src":"27749:40:5"},{"nodeType":"YulAssignment","src":"27798:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"27810:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"27821:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"27806:3:5"},"nodeType":"YulFunctionCall","src":"27806:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"27798:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_3e7676fc822bc9ef2dfbd8c8fd79eba63804a5a8cfafeeca5f62de50f5afcffa__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27647:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"27661:4:5","type":""}],"src":"27496:334:5"},{"body":{"nodeType":"YulBlock","src":"28009:163:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28026:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"28037:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28019:6:5"},"nodeType":"YulFunctionCall","src":"28019:21:5"},"nodeType":"YulExpressionStatement","src":"28019:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28060:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"28071:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28056:3:5"},"nodeType":"YulFunctionCall","src":"28056:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"28076:2:5","type":"","value":"13"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28049:6:5"},"nodeType":"YulFunctionCall","src":"28049:30:5"},"nodeType":"YulExpressionStatement","src":"28049:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28099:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"28110:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28095:3:5"},"nodeType":"YulFunctionCall","src":"28095:18:5"},{"hexValue":"4f7574206f6620626f756e6473","kind":"string","nodeType":"YulLiteral","src":"28115:15:5","type":"","value":"Out of bounds"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28088:6:5"},"nodeType":"YulFunctionCall","src":"28088:43:5"},"nodeType":"YulExpressionStatement","src":"28088:43:5"},{"nodeType":"YulAssignment","src":"28140:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28152:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"28163:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28148:3:5"},"nodeType":"YulFunctionCall","src":"28148:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"28140:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_b41949acbaaf353c3b06db4eca325fcb904a9e2f00e4b04e99aa82cd9a4ff9ce__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"27986:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"28000:4:5","type":""}],"src":"27835:337:5"},{"body":{"nodeType":"YulBlock","src":"28351:164:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28368:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"28379:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28361:6:5"},"nodeType":"YulFunctionCall","src":"28361:21:5"},"nodeType":"YulExpressionStatement","src":"28361:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28402:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"28413:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28398:3:5"},"nodeType":"YulFunctionCall","src":"28398:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"28418:2:5","type":"","value":"14"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28391:6:5"},"nodeType":"YulFunctionCall","src":"28391:30:5"},"nodeType":"YulExpressionStatement","src":"28391:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28441:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"28452:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28437:3:5"},"nodeType":"YulFunctionCall","src":"28437:18:5"},{"hexValue":"496e76616c69642077696e646f77","kind":"string","nodeType":"YulLiteral","src":"28457:16:5","type":"","value":"Invalid window"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"28430:6:5"},"nodeType":"YulFunctionCall","src":"28430:44:5"},"nodeType":"YulExpressionStatement","src":"28430:44:5"},{"nodeType":"YulAssignment","src":"28483:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"28495:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"28506:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28491:3:5"},"nodeType":"YulFunctionCall","src":"28491:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"28483:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_d2f2d38fac74ec1644b7e8e745a95f6a90a3df55c76b9ac70569cffd9e094123__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"28328:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"28342:4:5","type":""}],"src":"28177:338:5"},{"body":{"nodeType":"YulBlock","src":"28572:116:5","statements":[{"nodeType":"YulAssignment","src":"28582:20:5","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"28597:1:5"},{"name":"y","nodeType":"YulIdentifier","src":"28600:1:5"}],"functionName":{"name":"mul","nodeType":"YulIdentifier","src":"28593:3:5"},"nodeType":"YulFunctionCall","src":"28593:9:5"},"variableNames":[{"name":"product","nodeType":"YulIdentifier","src":"28582:7:5"}]},{"body":{"nodeType":"YulBlock","src":"28660:22:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"28662:16:5"},"nodeType":"YulFunctionCall","src":"28662:18:5"},"nodeType":"YulExpressionStatement","src":"28662:18:5"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"28631:1:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"28624:6:5"},"nodeType":"YulFunctionCall","src":"28624:9:5"},{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"28638:1:5"},{"arguments":[{"name":"product","nodeType":"YulIdentifier","src":"28645:7:5"},{"name":"x","nodeType":"YulIdentifier","src":"28654:1:5"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"28641:3:5"},"nodeType":"YulFunctionCall","src":"28641:15:5"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"28635:2:5"},"nodeType":"YulFunctionCall","src":"28635:22:5"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"28621:2:5"},"nodeType":"YulFunctionCall","src":"28621:37:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"28614:6:5"},"nodeType":"YulFunctionCall","src":"28614:45:5"},"nodeType":"YulIf","src":"28611:71:5"}]},"name":"checked_mul_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"28551:1:5","type":""},{"name":"y","nodeType":"YulTypedName","src":"28554:1:5","type":""}],"returnVariables":[{"name":"product","nodeType":"YulTypedName","src":"28560:7:5","type":""}],"src":"28520:168:5"},{"body":{"nodeType":"YulBlock","src":"28741:77:5","statements":[{"nodeType":"YulAssignment","src":"28751:16:5","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"28762:1:5"},{"name":"y","nodeType":"YulIdentifier","src":"28765:1:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28758:3:5"},"nodeType":"YulFunctionCall","src":"28758:9:5"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"28751:3:5"}]},{"body":{"nodeType":"YulBlock","src":"28790:22:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"28792:16:5"},"nodeType":"YulFunctionCall","src":"28792:18:5"},"nodeType":"YulExpressionStatement","src":"28792:18:5"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"28782:1:5"},{"name":"sum","nodeType":"YulIdentifier","src":"28785:3:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"28779:2:5"},"nodeType":"YulFunctionCall","src":"28779:10:5"},"nodeType":"YulIf","src":"28776:36:5"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"28724:1:5","type":""},{"name":"y","nodeType":"YulTypedName","src":"28727:1:5","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"28733:3:5","type":""}],"src":"28693:125:5"},{"body":{"nodeType":"YulBlock","src":"28870:89:5","statements":[{"body":{"nodeType":"YulBlock","src":"28897:22:5","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"28899:16:5"},"nodeType":"YulFunctionCall","src":"28899:18:5"},"nodeType":"YulExpressionStatement","src":"28899:18:5"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28890:5:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"28883:6:5"},"nodeType":"YulFunctionCall","src":"28883:13:5"},"nodeType":"YulIf","src":"28880:39:5"},{"nodeType":"YulAssignment","src":"28928:25:5","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"28939:5:5"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"28950:1:5","type":"","value":"0"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"28946:3:5"},"nodeType":"YulFunctionCall","src":"28946:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"28935:3:5"},"nodeType":"YulFunctionCall","src":"28935:18:5"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"28928:3:5"}]}]},"name":"decrement_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"28852:5:5","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"28862:3:5","type":""}],"src":"28823:136:5"},{"body":{"nodeType":"YulBlock","src":"29138:175:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29155:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"29166:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29148:6:5"},"nodeType":"YulFunctionCall","src":"29148:21:5"},"nodeType":"YulExpressionStatement","src":"29148:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29189:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"29200:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29185:3:5"},"nodeType":"YulFunctionCall","src":"29185:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"29205:2:5","type":"","value":"25"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29178:6:5"},"nodeType":"YulFunctionCall","src":"29178:30:5"},"nodeType":"YulExpressionStatement","src":"29178:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29228:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"29239:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29224:3:5"},"nodeType":"YulFunctionCall","src":"29224:18:5"},{"hexValue":"496e73756666696369656e74206f62736572766174696f6e73","kind":"string","nodeType":"YulLiteral","src":"29244:27:5","type":"","value":"Insufficient observations"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29217:6:5"},"nodeType":"YulFunctionCall","src":"29217:55:5"},"nodeType":"YulExpressionStatement","src":"29217:55:5"},{"nodeType":"YulAssignment","src":"29281:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29293:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"29304:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29289:3:5"},"nodeType":"YulFunctionCall","src":"29289:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"29281:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_006908ac2e31e70e19cca8192e8298f9fb3fb6c497357599ad70cd2f453e787b__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"29115:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"29129:4:5","type":""}],"src":"28964:349:5"},{"body":{"nodeType":"YulBlock","src":"29364:171:5","statements":[{"body":{"nodeType":"YulBlock","src":"29395:111:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29416:1:5","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29423:3:5","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"29428:10:5","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"29419:3:5"},"nodeType":"YulFunctionCall","src":"29419:20:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29409:6:5"},"nodeType":"YulFunctionCall","src":"29409:31:5"},"nodeType":"YulExpressionStatement","src":"29409:31:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29460:1:5","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"29463:4:5","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29453:6:5"},"nodeType":"YulFunctionCall","src":"29453:15:5"},"nodeType":"YulExpressionStatement","src":"29453:15:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"29488:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"29491:4:5","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"29481:6:5"},"nodeType":"YulFunctionCall","src":"29481:15:5"},"nodeType":"YulExpressionStatement","src":"29481:15:5"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"29384:1:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"29377:6:5"},"nodeType":"YulFunctionCall","src":"29377:9:5"},"nodeType":"YulIf","src":"29374:132:5"},{"nodeType":"YulAssignment","src":"29515:14:5","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"29524:1:5"},{"name":"y","nodeType":"YulIdentifier","src":"29527:1:5"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"29520:3:5"},"nodeType":"YulFunctionCall","src":"29520:9:5"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"29515:1:5"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"29349:1:5","type":""},{"name":"y","nodeType":"YulTypedName","src":"29352:1:5","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"29358:1:5","type":""}],"src":"29318:217:5"},{"body":{"nodeType":"YulBlock","src":"29714:166:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29731:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"29742:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29724:6:5"},"nodeType":"YulFunctionCall","src":"29724:21:5"},"nodeType":"YulExpressionStatement","src":"29724:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29765:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"29776:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29761:3:5"},"nodeType":"YulFunctionCall","src":"29761:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"29781:2:5","type":"","value":"16"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29754:6:5"},"nodeType":"YulFunctionCall","src":"29754:30:5"},"nodeType":"YulExpressionStatement","src":"29754:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29804:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"29815:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29800:3:5"},"nodeType":"YulFunctionCall","src":"29800:18:5"},{"hexValue":"5061757361626c653a20706175736564","kind":"string","nodeType":"YulLiteral","src":"29820:18:5","type":"","value":"Pausable: paused"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"29793:6:5"},"nodeType":"YulFunctionCall","src":"29793:46:5"},"nodeType":"YulExpressionStatement","src":"29793:46:5"},{"nodeType":"YulAssignment","src":"29848:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"29860:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"29871:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"29856:3:5"},"nodeType":"YulFunctionCall","src":"29856:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"29848:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"29691:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"29705:4:5","type":""}],"src":"29540:340:5"},{"body":{"nodeType":"YulBlock","src":"30059:181:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30076:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"30087:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30069:6:5"},"nodeType":"YulFunctionCall","src":"30069:21:5"},"nodeType":"YulExpressionStatement","src":"30069:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30110:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"30121:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30106:3:5"},"nodeType":"YulFunctionCall","src":"30106:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"30126:2:5","type":"","value":"31"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30099:6:5"},"nodeType":"YulFunctionCall","src":"30099:30:5"},"nodeType":"YulExpressionStatement","src":"30099:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30149:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"30160:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30145:3:5"},"nodeType":"YulFunctionCall","src":"30145:18:5"},{"hexValue":"5265656e7472616e637947756172643a207265656e7472616e742063616c6c","kind":"string","nodeType":"YulLiteral","src":"30165:33:5","type":"","value":"ReentrancyGuard: reentrant call"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30138:6:5"},"nodeType":"YulFunctionCall","src":"30138:61:5"},"nodeType":"YulExpressionStatement","src":"30138:61:5"},{"nodeType":"YulAssignment","src":"30208:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30220:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"30231:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30216:3:5"},"nodeType":"YulFunctionCall","src":"30216:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30208:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30036:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30050:4:5","type":""}],"src":"29885:355:5"},{"body":{"nodeType":"YulBlock","src":"30419:170:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30436:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"30447:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30429:6:5"},"nodeType":"YulFunctionCall","src":"30429:21:5"},"nodeType":"YulExpressionStatement","src":"30429:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30470:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"30481:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30466:3:5"},"nodeType":"YulFunctionCall","src":"30466:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"30486:2:5","type":"","value":"20"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30459:6:5"},"nodeType":"YulFunctionCall","src":"30459:30:5"},"nodeType":"YulExpressionStatement","src":"30459:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30509:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"30520:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30505:3:5"},"nodeType":"YulFunctionCall","src":"30505:18:5"},{"hexValue":"5061757361626c653a206e6f7420706175736564","kind":"string","nodeType":"YulLiteral","src":"30525:22:5","type":"","value":"Pausable: not paused"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"30498:6:5"},"nodeType":"YulFunctionCall","src":"30498:50:5"},"nodeType":"YulExpressionStatement","src":"30498:50:5"},{"nodeType":"YulAssignment","src":"30557:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"30569:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"30580:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"30565:3:5"},"nodeType":"YulFunctionCall","src":"30565:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"30557:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"30396:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"30410:4:5","type":""}],"src":"30245:344:5"}]},"contents":"{\n { }\n function abi_decode_string_calldata(offset, end) -> arrayPos, length\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert(0, 0) }\n arrayPos := add(offset, 0x20)\n if gt(add(add(offset, length), 0x20), end) { revert(0, 0) }\n }\n function abi_decode_tuple_t_string_calldata_ptrt_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n value0 := value0_1\n value1 := value1_1\n value2 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_string_calldata_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n let value0_1, value1_1 := abi_decode_string_calldata(add(headStart, offset), dataEnd)\n value0 := value0_1\n value1 := value1_1\n }\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_bool(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n value0 := value\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_string(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := calldataload(offset)\n let _2 := 0xffffffffffffffff\n if gt(_1, _2) { panic_error_0x41() }\n let _3 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_1, 0x1f), _3), 63), _3))\n if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _1)\n if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n calldatacopy(add(memPtr, 0x20), add(offset, 0x20), _1)\n mstore(add(add(memPtr, _1), 0x20), 0)\n array := memPtr\n }\n function abi_decode_tuple_t_bytes32t_enum$_Stage_$12t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 160) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(lt(value, 4)) { revert(0, 0) }\n value1 := value\n let offset := calldataload(add(headStart, 64))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value2 := abi_decode_string(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 96))\n if gt(offset_1, _1) { revert(0, 0) }\n value3 := abi_decode_string(add(headStart, offset_1), dataEnd)\n let offset_2 := calldataload(add(headStart, 128))\n if gt(offset_2, _1) { revert(0, 0) }\n value4 := abi_decode_string(add(headStart, offset_2), dataEnd)\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_uint256t_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5, value6, value7, value8\n {\n if slt(sub(dataEnd, headStart), 288) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset_1), dataEnd)\n let offset_2 := calldataload(add(headStart, 64))\n if gt(offset_2, _1) { revert(0, 0) }\n value2 := abi_decode_string(add(headStart, offset_2), dataEnd)\n let offset_3 := calldataload(add(headStart, 96))\n if gt(offset_3, _1) { revert(0, 0) }\n value3 := abi_decode_string(add(headStart, offset_3), dataEnd)\n value4 := calldataload(add(headStart, 128))\n let offset_4 := calldataload(add(headStart, 160))\n if gt(offset_4, _1) { revert(0, 0) }\n value5 := abi_decode_string(add(headStart, offset_4), dataEnd)\n let offset_5 := calldataload(add(headStart, 192))\n if gt(offset_5, _1) { revert(0, 0) }\n value6 := abi_decode_string(add(headStart, offset_5), dataEnd)\n let offset_6 := calldataload(add(headStart, 224))\n if gt(offset_6, _1) { revert(0, 0) }\n value7 := abi_decode_string(add(headStart, offset_6), dataEnd)\n let offset_7 := calldataload(add(headStart, 256))\n if gt(offset_7, _1) { revert(0, 0) }\n value8 := abi_decode_string(add(headStart, offset_7), dataEnd)\n }\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n }\n function abi_decode_tuple_t_addresst_enum$_ActorRole_$19(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(lt(value, 6)) { revert(0, 0) }\n value1 := value\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function panic_error_0x21()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n function abi_encode_enum_Stage(value, pos)\n {\n if iszero(lt(value, 4)) { panic_error_0x21() }\n mstore(pos, value)\n }\n function copy_memory_to_memory_with_cleanup(src, dst, length)\n {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n mstore(add(dst, length), 0)\n }\n function abi_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n copy_memory_to_memory_with_cleanup(add(value, 0x20), add(pos, 0x20), length)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\n }\n function abi_encode_struct_SupplyChainUpdate(value, pos) -> end\n {\n abi_encode_enum_Stage(mload(value), pos)\n let memberValue0 := mload(add(value, 0x20))\n mstore(add(pos, 0x20), 0xc0)\n let tail := abi_encode_string(memberValue0, add(pos, 0xc0))\n let memberValue0_1 := mload(add(value, 0x40))\n mstore(add(pos, 0x40), sub(tail, pos))\n let tail_1 := abi_encode_string(memberValue0_1, tail)\n mstore(add(pos, 0x60), mload(add(value, 0x60)))\n let memberValue0_2 := mload(add(value, 0x80))\n mstore(add(pos, 0x80), sub(tail_1, pos))\n let tail_2 := abi_encode_string(memberValue0_2, tail_1)\n mstore(add(pos, 0xa0), and(mload(add(value, 0xa0)), sub(shl(160, 1), 1)))\n end := tail_2\n }\n function abi_encode_tuple_t_array$_t_struct$_SupplyChainUpdate_$48_memory_ptr_$dyn_memory_ptr__to_t_array$_t_struct$_SupplyChainUpdate_$48_memory_ptr_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n let tail_1 := add(headStart, _1)\n mstore(headStart, _1)\n let pos := tail_1\n let length := mload(value0)\n mstore(tail_1, length)\n pos := add(headStart, 64)\n let tail_2 := add(add(headStart, shl(5, length)), 64)\n let srcPtr := add(value0, _1)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, add(sub(tail_2, headStart), not(63)))\n tail_2 := abi_encode_struct_SupplyChainUpdate(mload(srcPtr), tail_2)\n srcPtr := add(srcPtr, _1)\n pos := add(pos, _1)\n }\n tail := tail_2\n }\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_bytes32_t_string_memory_ptr_t_uint256_t_uint256_t_address_t_bool_t_bool__to_t_bytes32_t_string_memory_ptr_t_uint256_t_uint256_t_address_t_bool_t_bool__fromStack_reversed(headStart, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\n mstore(add(headStart, 32), 224)\n tail := abi_encode_string(value1, add(headStart, 224))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), and(value4, sub(shl(160, 1), 1)))\n mstore(add(headStart, 160), iszero(iszero(value5)))\n mstore(add(headStart, 192), iszero(iszero(value6)))\n }\n function abi_encode_tuple_t_struct$_SupplyChainUpdate_$48_memory_ptr__to_t_struct$_SupplyChainUpdate_$48_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n tail := abi_encode_struct_SupplyChainUpdate(value0, add(headStart, 32))\n }\n function abi_encode_tuple_t_enum$_ActorRole_$19__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n if iszero(lt(value0, 6)) { panic_error_0x21() }\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_bytes32t_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_enum$_Stage_$12_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_string_memory_ptr_t_address__to_t_uint8_t_string_memory_ptr_t_string_memory_ptr_t_uint256_t_string_memory_ptr_t_address__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n abi_encode_enum_Stage(value0, headStart)\n mstore(add(headStart, 32), 192)\n let tail_1 := abi_encode_string(value1, add(headStart, 192))\n mstore(add(headStart, 64), sub(tail_1, headStart))\n let tail_2 := abi_encode_string(value2, tail_1)\n mstore(add(headStart, 96), value3)\n mstore(add(headStart, 128), sub(tail_2, headStart))\n tail := abi_encode_string(value4, tail_2)\n mstore(add(headStart, 160), and(value5, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_struct$_CropBatch_$34_memory_ptr__to_t_struct$_CropBatch_$34_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), mload(value0))\n let memberValue0 := mload(add(value0, 32))\n mstore(add(headStart, 64), 0xe0)\n let tail_1 := abi_encode_string(memberValue0, add(headStart, 256))\n mstore(add(headStart, 96), mload(add(value0, 64)))\n mstore(add(headStart, 128), mload(add(value0, 96)))\n mstore(add(headStart, 160), and(mload(add(value0, 128)), sub(shl(160, 1), 1)))\n mstore(add(headStart, 192), iszero(iszero(mload(add(value0, 160)))))\n mstore(add(headStart, 0xe0), iszero(iszero(mload(add(value0, 192)))))\n tail := tail_1\n }\n function abi_encode_tuple_t_stringliteral_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 14)\n mstore(add(headStart, 64), \"Not authorized\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_47226bf13fa32a8d7a11b9f8ba5ea922b2db352b2e0bd21f8a5ff59908f8ae4a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 16)\n mstore(add(headStart, 64), \"Mandi/Admin only\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_76df2ccd6b3e6069462d14ca80504c97024ffda893e6beeeecfb45757e65c5f6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"Crop type cannot be empty\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1b6b7ea1ca601eedacaf5021d2f04292cf19df119f1635d866f2b5c9b71440a1__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 17)\n mstore(add(headStart, 64), \"Price must be > 0\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_packed_t_bytes_calldata_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n calldatacopy(pos, value0, value1)\n let _1 := add(pos, value1)\n mstore(_1, 0)\n end := _1\n }\n function abi_encode_tuple_packed_t_string_calldata_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value1, value0) -> end\n {\n calldatacopy(pos, value0, value1)\n let _1 := add(pos, value1)\n mstore(_1, 0)\n end := _1\n }\n function abi_encode_tuple_t_stringliteral_01c242f1c806840acb94ec05d87d4647010419c53a053a581e0026b3f6467dbb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 18)\n mstore(add(headStart, 64), \"Amount must be > 0\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_36435f17e62e176b853e8c37716e51b74bf692c7f7df8628db24bf070e8367ad__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 22)\n mstore(add(headStart, 64), \"Insufficient liquidity\")\n tail := add(headStart, 96)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos) -> end\n { end := pos }\n function abi_encode_tuple_t_stringliteral_25adaa6d082ce15f901e0d8a3d393e7462ef9edf2e6bc8321fa14d1615b6fc51__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"Transfer failed\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_33e65c68a0e23542ed47484f739b4ff98552fc42d3ba896a57bf56a118ff8c50__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 21)\n mstore(add(headStart, 64), \"No price observations\")\n tail := add(headStart, 96)\n }\n function panic_error_0x32()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n function abi_encode_tuple_t_stringliteral_17d9f114efaa93d67eedad749dd7fd16a6895ff93e28b7a30c667a069f2ed42d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 10)\n mstore(add(headStart, 64), \"Only owner\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_da72169ad4f66a2268f3d0d6f19f1623cafa7e891cd0021980bf75380555fddd__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"Batch not found\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_80fbdea07b4ab11d5e8f9f94f5a7289787e0001fa0f855eae1f185f72c015830__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 17)\n mstore(add(headStart, 64), \"Batch is recalled\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_fa44d436dbe876b1dbd642d3d9a35305a5428d9ec35e142e267c3b41cd98a2fa__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 21)\n mstore(add(headStart, 64), \"Actor cannot be empty\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_de6f6fc78129cdf79b4d965b64fbf03531bcfdd1d0b5e1bcd4e0e8de5507fff6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"Location cannot be empty\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_767e2ea53fc139199379fc937e49b7731ae29e48f66e332570ea39eac372a344__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"Invalid stage transition\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_e351eac8ef6275f0329dbcfc313aa1c3eba7ec2652eed0b435157058bdebbd8b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 29)\n mstore(add(headStart, 64), \"Role cannot update this stage\")\n tail := add(headStart, 96)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(_1, array)\n let data := keccak256(_1, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := srcOffset_1\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_t_enum$_Stage_$12_t_string_memory_ptr_t_string_memory_ptr__to_t_uint8_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n abi_encode_enum_Stage(value0, headStart)\n mstore(add(headStart, 32), 96)\n let tail_1 := abi_encode_string(value1, add(headStart, 96))\n mstore(add(headStart, 64), sub(tail_1, headStart))\n tail := abi_encode_string(value2, tail_1)\n }\n function abi_encode_tuple_t_stringliteral_29b48ae655aa3ee2f7612336d700663183d24df877fd7c5da8ae0435034680f0__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Batch already exists\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_981f2ffe11689b3b7d7ac1e8cc477cc12f592477f4819e25b64688f4dd38b177__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"Batch ID cannot be empty\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_45cfc403798a12f528b4df18b8fbca10a33453a1a7a9e4ea48592d76a9c646f1__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 27)\n mstore(add(headStart, 64), \"Farmer name cannot be empty\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_252cb7a172bac3f6ced5e82b4e7e4ae614f888a2d313e753a0adcf25515cc612__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 30)\n mstore(add(headStart, 64), \"Farmer address cannot be empty\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ef49152423528776437b09295e6753738a761ef844bbae45657eb2b302cd6b35__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 28)\n mstore(add(headStart, 64), \"Harvest date cannot be empty\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_810c256df7e5d41acbd662e3c3b0be249f9bd6cf5f43ceb24d1d9f9faad3dc2a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 22)\n mstore(add(headStart, 64), \"Origin cannot be empty\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_0256b2f79971b33d79a70471e25342b40a29973a9924f7bf65b61d253cc5e2ad__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"Quantity must be greater than 0\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_packed_t_stringliteral_8f5768c0b35d831c84e5fc6fd3ab7119cfd8730024de763aa6075843c559758f_t_string_memory_ptr_t_stringliteral_af18909f0959c5cf9bc8d471cf99331a51f729dfa2dbfd6adb9e95018e34d33e_t_string_memory_ptr_t_stringliteral_f86b0ef76ea68879519c38b93596c686d665b7a3ae754a0c3a12f8894d70ff31_t_string_memory_ptr_t_stringliteral_791a5de3ff11c5bbe83406d7b1fc01d759d4dbf64786d51bc05408382d1f6b13_t_string_memory_ptr__to_t_bytes5_t_string_memory_ptr_t_bytes10_t_string_memory_ptr_t_bytes13_t_string_memory_ptr_t_bytes7_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value3, value2, value1, value0) -> end\n {\n mstore(pos, \"Crop:\")\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), add(pos, 5), length)\n let _1 := add(pos, length)\n mstore(add(_1, 5), \"; Harvest:\")\n let length_1 := mload(value1)\n copy_memory_to_memory_with_cleanup(add(value1, 0x20), add(_1, 15), length_1)\n let _2 := add(_1, length_1)\n mstore(add(_2, 15), \"; FarmerAddr:\")\n let length_2 := mload(value2)\n copy_memory_to_memory_with_cleanup(add(value2, 0x20), add(_2, 28), length_2)\n let _3 := add(_2, length_2)\n mstore(add(_3, 28), \"; Cert:\")\n let length_3 := mload(value3)\n copy_memory_to_memory_with_cleanup(add(value3, 0x20), add(_3, 35), length_3)\n end := add(add(_3, length_3), 35)\n }\n function abi_encode_tuple_t_string_memory_ptr_t_uint256__to_t_string_memory_ptr_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 64)\n tail := abi_encode_string(value0, add(headStart, 64))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos, value0) -> end\n {\n let length := mload(value0)\n copy_memory_to_memory_with_cleanup(add(value0, 0x20), pos, length)\n end := add(pos, length)\n }\n function abi_encode_tuple_t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"Invalid address\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_3e7676fc822bc9ef2dfbd8c8fd79eba63804a5a8cfafeeca5f62de50f5afcffa__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 10)\n mstore(add(headStart, 64), \"No updates\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_b41949acbaaf353c3b06db4eca325fcb904a9e2f00e4b04e99aa82cd9a4ff9ce__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 13)\n mstore(add(headStart, 64), \"Out of bounds\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_d2f2d38fac74ec1644b7e8e745a95f6a90a3df55c76b9ac70569cffd9e094123__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 14)\n mstore(add(headStart, 64), \"Invalid window\")\n tail := add(headStart, 96)\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n product := mul(x, y)\n if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function decrement_t_uint256(value) -> ret\n {\n if iszero(value) { panic_error_0x11() }\n ret := add(value, not(0))\n }\n function abi_encode_tuple_t_stringliteral_006908ac2e31e70e19cca8192e8298f9fb3fb6c497357599ad70cd2f453e787b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"Insufficient observations\")\n tail := add(headStart, 96)\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n r := div(x, y)\n }\n function abi_encode_tuple_t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 16)\n mstore(add(headStart, 64), \"Pausable: paused\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ebf73bba305590e4764d5cb53b69bffd6d4d092d1a67551cb346f8cfcdab8619__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 31)\n mstore(add(headStart, 64), \"ReentrancyGuard: reentrant call\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Pausable: not paused\")\n tail := add(headStart, 96)\n }\n}","id":5,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"6080604052600436106101c25760003560e01c80638da5cb5b116100f7578063aa68b48e11610095578063e3bd286711610064578063e3bd28671461055e578063e561dddc146104af578063f2fde38b1461057e578063f9ca42741461059e57600080fd5b8063aa68b48e146104e4578063ab00501114610516578063b0a6295714610536578063ca593c591461055657600080fd5b806399374642116100d15780639937464214610452578063a0b6041d1461048f578063a8fabfa5146104af578063a9437275146104c457600080fd5b80638da5cb5b146103ba578063906ddff1146103f257806395e468021461042557600080fd5b806336214a1c11610164578063571c3e601161013e578063571c3e60146103345780635c975abb146103545780635fcb212014610377578063716da2951461038d57600080fd5b806336214a1c146102d45780633d41eda1146102f4578063529691871461031457600080fd5b806315770f92116101a057806315770f921461024357806316c38b3c14610267578063290b17ec1461028757806332fc2162146102a757600080fd5b806308ec1ee8146101c75780630a861f2a146101e957806311459ad214610209575b600080fd5b3480156101d357600080fd5b506101e76101e2366004612c94565b6105cb565b005b3480156101f557600080fd5b506101e7610204366004612ce0565b6107d4565b34801561021557600080fd5b50610229610224366004612cf9565b610a26565b604080519283526020830191909152015b60405180910390f35b34801561024f57600080fd5b5061025960085481565b60405190815260200161023a565b34801561027357600080fd5b506101e7610282366004612d3b565b610aea565b34801561029357600080fd5b506102596102a2366004612ce0565b610b7c565b3480156102b357600080fd5b506102596102c2366004612d80565b60076020526000908152604090205481565b3480156102e057600080fd5b506101e76102ef366004612e3e565b610b9d565b34801561030057600080fd5b506101e761030f366004612ee7565b610f56565b34801561032057600080fd5b506101e761032f366004613031565b6114a3565b34801561034057600080fd5b506101e761034f36600461306e565b611587565b34801561036057600080fd5b5060015460ff16604051901515815260200161023a565b34801561038357600080fd5b5061025961070881565b34801561039957600080fd5b506103ad6103a8366004613031565b6116d8565b60405161023a91906131a5565b3480156103c657600080fd5b506006546103da906001600160a01b031681565b6040516001600160a01b03909116815260200161023a565b3480156103fe57600080fd5b5061041261040d366004612ce0565b61198a565b60405161023a9796959493929190613207565b34801561043157600080fd5b50610445610440366004613031565b611a62565b60405161023a9190613257565b34801561045e57600080fd5b5061048261046d366004612d80565b60046020526000908152604090205460ff1681565b60405161023a919061326a565b34801561049b57600080fd5b506102596104aa366004612ce0565b611d3d565b3480156104bb57600080fd5b50600554610259565b3480156104d057600080fd5b506103ad6104df366004612ce0565b611da6565b3480156104f057600080fd5b506105046104ff366004613284565b612047565b60405161023a969594939291906132a6565b34801561052257600080fd5b50610445610531366004612ce0565b612242565b34801561054257600080fd5b50610259610551366004612c94565b6122cd565b6101e76124e7565b34801561056a57600080fd5b50610259610579366004612cf9565b61264c565b34801561058a57600080fd5b506101e7610599366004612d80565b612680565b3480156105aa57600080fd5b506105be6105b9366004613031565b61276d565b60405161023a919061330e565b3360009081526004602052604081205460ff1660058111156105ef576105ef6130a9565b036106155760405162461bcd60e51b815260040161060c9061337f565b60405180910390fd5b3360009081526004602052604090205460ff16600281600581111561063c5761063c6130a9565b148061065957506005816005811115610657576106576130a9565b145b6106755760405162461bcd60e51b815260040161060c906133a7565b61067d6128f1565b610685612939565b826106ce5760405162461bcd60e51b815260206004820152601960248201527843726f7020747970652063616e6e6f7420626520656d70747960381b604482015260640161060c565b600082116107125760405162461bcd60e51b815260206004820152601160248201527005072696365206d757374206265203e203607c1b604482015260640161060c565b600084846040516107249291906133d1565b604080519182900382206000818152600960209081528382208585018552888652428287019081528154600181810184559285529290932095516002909202909501908155905193019290925551909150339061078490879087906133d1565b60408051918290038220868352426020840152917f0a48ce64d777e75fe5538daad7210e5f17aa7af207060a3ca17543550e22a030910160405180910390a3506107ce6001600055565b50505050565b3360009081526004602052604081205460ff1660058111156107f8576107f86130a9565b036108155760405162461bcd60e51b815260040161060c9061337f565b3360009081526004602052604090205460ff16600281600581111561083c5761083c6130a9565b148061085957506005816005811115610857576108576130a9565b145b6108755760405162461bcd60e51b815260040161060c906133a7565b61087d6128f1565b610885612939565b600082116108ca5760405162461bcd60e51b81526020600482015260126024820152710416d6f756e74206d757374206265203e20360741b604482015260640161060c565b33600090815260076020526040902054828110156109235760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e74206c697175696469747960501b604482015260640161060c565b61092d83826133f7565b33600090815260076020526040812091909155600880548592906109529084906133f7565b9091555050604051600090339085908381818185875af1925050503d8060008114610999576040519150601f19603f3d011682016040523d82523d6000602084013e61099e565b606091505b50509050806109e15760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161060c565b60405184815233907fb1cce8684b4ffa8667b4577654e61ee3480d661ee9c27522ac80e211f6bd4d259060200160405180910390a25050610a226001600055565b5050565b60008060008484604051610a3b9291906133d1565b60408051918290039091206000818152600960205291909120805491925090610a9e5760405162461bcd60e51b81526020600482015260156024820152744e6f207072696365206f62736572766174696f6e7360581b604482015260640161060c565b80546000908290610ab1906001906133f7565b81548110610ac157610ac161340a565b9060005260206000209060020201905080600001548160010154945094505050505b9250929050565b6006546001600160a01b03163314610b145760405162461bcd60e51b815260040161060c90613420565b610b1c612939565b8015610b2f57610b2a612992565b610b37565b610b376129dc565b604051811515815233907fe7f645cfca4612e1136cf53cc61a2028d41f30a9bd510c8c467671ee3d4ec83d906020015b60405180910390a2610b796001600055565b50565b60058181548110610b8c57600080fd5b600091825260209091200154905081565b3360009081526004602052604081205460ff166005811115610bc157610bc16130a9565b03610bde5760405162461bcd60e51b815260040161060c9061337f565b610be66128f1565b610bee612939565b6000858152600260205260409020600401548590600160a01b900460ff16610c285760405162461bcd60e51b815260040161060c90613444565b336000908152600460208181526040808420548a85526002909252909220015460ff91821691600160a81b9091041615610c985760405162461bcd60e51b815260206004820152601160248201527010985d18da081a5cc81c9958d85b1b1959607a1b604482015260640161060c565b6000855111610ce15760405162461bcd60e51b81526020600482015260156024820152744163746f722063616e6e6f7420626520656d70747960581b604482015260640161060c565b6000845111610d325760405162461bcd60e51b815260206004820152601860248201527f4c6f636174696f6e2063616e6e6f7420626520656d7074790000000000000000604482015260640161060c565b610d3c8787612a1e565b610d885760405162461bcd60e51b815260206004820152601860248201527f496e76616c6964207374616765207472616e736974696f6e0000000000000000604482015260640161060c565b6005816005811115610d9c57610d9c6130a9565b1480610dad5750610dad8682612ac3565b610df95760405162461bcd60e51b815260206004820152601d60248201527f526f6c652063616e6e6f74207570646174652074686973207374616765000000604482015260640161060c565b600360008881526020019081526020016000206040518060c00160405280886003811115610e2957610e296130a9565b8152602080820189905260408201889052426060830152608082018790523360a09092019190915282546001818101855560009485529190932082516006909402018054929390929091839160ff191690836003811115610e8c57610e8c6130a9565b021790555060208201516001820190610ea590826134f0565b5060408201516002820190610eba90826134f0565b506060820151600382015560808201516004820190610ed990826134f0565b5060a09190910151600590910180546001600160a01b0319166001600160a01b03909216919091179055604051339088907f2cefceaa731c274adf2f7bd3b3237d2e06cb4fe59bd62d9ea2055287a132d36490610f3b908a908a908a906135b0565b60405180910390a35050610f4f6001600055565b5050505050565b3360009081526004602052604081205460ff166005811115610f7a57610f7a6130a9565b03610f975760405162461bcd60e51b815260040161060c9061337f565b610f9f6128f1565b610fa7612939565b885160208a0120600090600081815260026020526040902060040154909150600160a01b900460ff16156110145760405162461bcd60e51b8152602060048201526014602482015273426174636820616c72656164792065786973747360601b604482015260640161060c565b60008a51116110655760405162461bcd60e51b815260206004820152601860248201527f42617463682049442063616e6e6f7420626520656d7074790000000000000000604482015260640161060c565b60008951116110b65760405162461bcd60e51b815260206004820152601b60248201527f4661726d6572206e616d652063616e6e6f7420626520656d7074790000000000604482015260640161060c565b60008851116111075760405162461bcd60e51b815260206004820152601e60248201527f4661726d657220616464726573732063616e6e6f7420626520656d7074790000604482015260640161060c565b60008751116111545760405162461bcd60e51b815260206004820152601960248201527843726f7020747970652063616e6e6f7420626520656d70747960381b604482015260640161060c565b60008551116111a55760405162461bcd60e51b815260206004820152601c60248201527f4861727665737420646174652063616e6e6f7420626520656d70747900000000604482015260640161060c565b60008451116111ef5760405162461bcd60e51b81526020600482015260166024820152754f726967696e2063616e6e6f7420626520656d70747960501b604482015260640161060c565b6000861161123f5760405162461bcd60e51b815260206004820152601f60248201527f5175616e74697479206d7573742062652067726561746572207468616e203000604482015260640161060c565b6040805160e08101825282815260208082018581528284018a9052426060840152336080840152600160a08401819052600060c08501819052868152600290935293909120825181559051859382019061129990826134f0565b506040828101516002830155606083015160038084019190915560808401516004909301805460a086015160c0968701511515600160a81b0260ff60a81b19911515600160a01b026001600160a81b03199093166001600160a01b0390971696909617919091171693909317909255600085815260209290925280822081519384019091529190819081526020018c81526020018781526020014281526020018a898d8960405160200161135094939291906135ec565b60408051601f1981840301815291905281523360209182015282546001818101855560009485529190932082516006909402018054929390929091839160ff1916908360038111156113a4576113a46130a9565b0217905550602082015160018201906113bd90826134f0565b50604082015160028201906113d290826134f0565b5060608201516003820155608082015160048201906113f190826134f0565b5060a09190910151600591820180546001600160a01b0319166001600160a01b0390921691909117905580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001829055604051339083907f1e548d6c3fb449f78f5b7457156dcfb300cbb65d12a4038b334b6bfbdba95738906114849085908c9061369a565b60405180910390a350506114986001600055565b505050505050505050565b6006546001600160a01b031633146114cd5760405162461bcd60e51b815260040161060c90613420565b6114d5612939565b80516020820120600090600081815260026020526040902060040154909150600160a01b900460ff1661151a5760405162461bcd60e51b815260040161060c90613444565b60008181526002602052604090819020600401805460ff60a81b1916600160a81b17905551339061154c9084906136bc565b604051908190038120907f423ae59b8825a6f0d6872201b0102d5bc3ff543cca72ddf16d2e4d698fc9898b90600090a350610b796001600055565b6006546001600160a01b031633146115b15760405162461bcd60e51b815260040161060c90613420565b6115b9612939565b6001600160a01b0382166116015760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161060c565b6001600160a01b0382166000908152600460205260409020805482919060ff19166001836005811115611636576116366130a9565b0217905550816001600160a01b03167fc3f8f61911a1537261f77e2703626e158e299a98e341024ecaa26bbd1d884c6482604051611674919061326a565b60405180910390a26001600160a01b0382167f175deaa679c5cdab1525a1961772f2791ba9122b522490d1625beaf3ba3f638960008360058111156116bb576116bb6130a9565b604051911415815260200160405180910390a2610a226001600055565b80516020820120606090600090600081815260026020526040902060040154909150600160a01b900460ff166117205760405162461bcd60e51b815260040161060c90613444565b600081815260036020908152604080832080548251818502810185019093528083529193909284015b8282101561197e576000848152602090206040805160c08101909152600684029091018054829060ff166003811115611784576117846130a9565b6003811115611795576117956130a9565b81526020016001820180546117a99061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546117d59061346d565b80156118225780601f106117f757610100808354040283529160200191611822565b820191906000526020600020905b81548152906001019060200180831161180557829003601f168201915b5050505050815260200160028201805461183b9061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546118679061346d565b80156118b45780601f10611889576101008083540402835291602001916118b4565b820191906000526020600020905b81548152906001019060200180831161189757829003601f168201915b50505050508152602001600382015481526020016004820180546118d79061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546119039061346d565b80156119505780601f1061192557610100808354040283529160200191611950565b820191906000526020600020905b81548152906001019060200180831161193357829003601f168201915b5050509183525050600591909101546001600160a01b03166020918201529082526001929092019101611749565b50505050915050919050565b600260205260009081526040902080546001820180549192916119ac9061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546119d89061346d565b8015611a255780601f106119fa57610100808354040283529160200191611a25565b820191906000526020600020905b815481529060010190602001808311611a0857829003601f168201915b50505060028401546003850154600490950154939490939092506001600160a01b038116915060ff600160a01b8204811691600160a81b90041687565b611a6a612c12565b81516020830120600090600081815260026020526040902060040154909150600160a01b900460ff16611aaf5760405162461bcd60e51b815260040161060c90613444565b60008181526003602052604090208054611af85760405162461bcd60e51b815260206004820152600a6024820152694e6f207570646174657360b01b604482015260640161060c565b80548190611b08906001906133f7565b81548110611b1857611b1861340a565b600091825260209091206040805160c081019091526006909202018054829060ff166003811115611b4b57611b4b6130a9565b6003811115611b5c57611b5c6130a9565b8152602001600182018054611b709061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611b9c9061346d565b8015611be95780601f10611bbe57610100808354040283529160200191611be9565b820191906000526020600020905b815481529060010190602001808311611bcc57829003601f168201915b50505050508152602001600282018054611c029061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611c2e9061346d565b8015611c7b5780601f10611c5057610100808354040283529160200191611c7b565b820191906000526020600020905b815481529060010190602001808311611c5e57829003601f168201915b5050505050815260200160038201548152602001600482018054611c9e9061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611cca9061346d565b8015611d175780601f10611cec57610100808354040283529160200191611d17565b820191906000526020600020905b815481529060010190602001808311611cfa57829003601f168201915b5050509183525050600591909101546001600160a01b0316602090910152949350505050565b6005546000908210611d815760405162461bcd60e51b815260206004820152600d60248201526c4f7574206f6620626f756e647360981b604482015260640161060c565b60058281548110611d9457611d9461340a565b90600052602060002001549050919050565b6000818152600260205260409020600401546060908290600160a01b900460ff16611de35760405162461bcd60e51b815260040161060c90613444565b600083815260036020908152604080832080548251818502810185019093528083529193909284015b8282101561197e576000848152602090206040805160c08101909152600684029091018054829060ff166003811115611e4757611e476130a9565b6003811115611e5857611e586130a9565b8152602001600182018054611e6c9061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611e989061346d565b8015611ee55780601f10611eba57610100808354040283529160200191611ee5565b820191906000526020600020905b815481529060010190602001808311611ec857829003601f168201915b50505050508152602001600282018054611efe9061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611f2a9061346d565b8015611f775780601f10611f4c57610100808354040283529160200191611f77565b820191906000526020600020905b815481529060010190602001808311611f5a57829003601f168201915b5050505050815260200160038201548152602001600482018054611f9a9061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611fc69061346d565b80156120135780601f10611fe857610100808354040283529160200191612013565b820191906000526020600020905b815481529060010190602001808311611ff657829003601f168201915b5050509183525050600591909101546001600160a01b03166020918201529082526001929092019101611e0c565b50919050565b6003602052816000526040600020818154811061206357600080fd5b60009182526020909120600690910201805460018201805460ff909216945091925061208e9061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546120ba9061346d565b80156121075780601f106120dc57610100808354040283529160200191612107565b820191906000526020600020905b8154815290600101906020018083116120ea57829003601f168201915b50505050509080600201805461211c9061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546121489061346d565b80156121955780601f1061216a57610100808354040283529160200191612195565b820191906000526020600020905b81548152906001019060200180831161217857829003601f168201915b5050505050908060030154908060040180546121b09061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546121dc9061346d565b80156122295780601f106121fe57610100808354040283529160200191612229565b820191906000526020600020905b81548152906001019060200180831161220c57829003601f168201915b505050600590930154919250506001600160a01b031686565b61224a612c12565b6000828152600260205260409020600401548290600160a01b900460ff166122845760405162461bcd60e51b815260040161060c90613444565b60008381526003602052604090208054611af85760405162461bcd60e51b815260206004820152600a6024820152694e6f207570646174657360b01b604482015260640161060c565b60008084846040516122e09291906133d1565b604080519182900390912060008181526009602052919091208054919250906123435760405162461bcd60e51b81526020600482015260156024820152744e6f207072696365206f62736572766174696f6e7360581b604482015260640161060c565b600084156123515784612355565b6107085b9050600081116123985760405162461bcd60e51b815260206004820152600e60248201526d496e76616c69642077696e646f7760901b604482015260640161060c565b4260006123a583836133f7565b8454909150600090819084905b801561247c576000886123c66001846133f7565b815481106123d6576123d661340a565b90600052602060002090600202019050828160010154106123f7575061246a565b60008682600101541161240a5786612410565b81600101545b90508084111561245057600061242682866133f7565b83549091506124369082906136d8565b61244090886136ef565b965061244c81876136ef565b9550505b8682600101541161246257505061247c565b506001015491505b8061247481613702565b9150506123b2565b50600082116124cd5760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e74206f62736572766174696f6e7300000000000000604482015260640161060c565b6124d78284613719565b9c9b505050505050505050505050565b3360009081526004602052604081205460ff16600581111561250b5761250b6130a9565b036125285760405162461bcd60e51b815260040161060c9061337f565b3360009081526004602052604090205460ff16600281600581111561254f5761254f6130a9565b148061256c5750600581600581111561256a5761256a6130a9565b145b6125885760405162461bcd60e51b815260040161060c906133a7565b6125906128f1565b612598612939565b600034116125dd5760405162461bcd60e51b81526020600482015260126024820152710416d6f756e74206d757374206265203e20360741b604482015260640161060c565b33600090815260076020526040812080543492906125fc9084906136ef565b92505081905550346008600082825461261591906136ef565b909155505060405134815233907f7ff07ce9a287649537e4b012e45cf012d90228b12e2b56bb03515a6b5436fcdf90602001610b67565b600080838360405161265f9291906133d1565b60408051918290039091206000908152600960205220549150505b92915050565b6006546001600160a01b031633146126aa5760405162461bcd60e51b815260040161060c90613420565b6126b2612939565b6001600160a01b0381166126fa5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161060c565b600680546001600160a01b031981166001600160a01b03848116918217909355600081815260046020526040808220805460ff19166005179055519390921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350610b796001600055565b6040805160e0810182526000808252606060208084018290528385018390529083018290526080830182905260a0830182905260c08301829052845185820120808352600290915292902060040154909190600160a01b900460ff166127e55760405162461bcd60e51b815260040161060c90613444565b600260008281526020019081526020016000206040518060e00160405290816000820154815260200160018201805461281d9061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546128499061346d565b80156128965780601f1061286b57610100808354040283529160200191612896565b820191906000526020600020905b81548152906001019060200180831161287957829003601f168201915b505050918352505060028201546020820152600382015460408201526004909101546001600160a01b038116606083015260ff600160a01b8204811615156080840152600160a81b90910416151560a0909101529392505050565b60015460ff16156129375760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161060c565b565b60026000540361298b5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161060c565b6002600055565b61299a6128f1565b6001805460ff1916811790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258906020015b60405180910390a1565b6129e4612bc9565b6001805460ff191690556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020016129d2565b600082815260036020526040812080548203612a51576000836003811115612a4857612a486130a9565b1491505061267a565b80546000908290612a64906001906133f7565b81548110612a7457612a7461340a565b600091825260209091206006909102015460ff169050806003811115612a9c57612a9c6130a9565b612aa79060016136ef565b846003811115612ab957612ab96130a9565b1495945050505050565b600080836003811115612ad857612ad86130a9565b148015612af657506001826005811115612af457612af46130a9565b145b15612b035750600161267a565b6001836003811115612b1757612b176130a9565b148015612b3557506002826005811115612b3357612b336130a9565b145b15612b425750600161267a565b6002836003811115612b5657612b566130a9565b148015612b7457506003826005811115612b7257612b726130a9565b145b15612b815750600161267a565b6003836003811115612b9557612b956130a9565b148015612bb357506004826005811115612bb157612bb16130a9565b145b15612bc05750600161267a565b50600092915050565b60015460ff166129375760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161060c565b6040805160c0810190915280600081526020016060815260200160608152602001600081526020016060815260200160006001600160a01b031681525090565b60008083601f840112612c6457600080fd5b50813567ffffffffffffffff811115612c7c57600080fd5b602083019150836020828501011115610ae357600080fd5b600080600060408486031215612ca957600080fd5b833567ffffffffffffffff811115612cc057600080fd5b612ccc86828701612c52565b909790965060209590950135949350505050565b600060208284031215612cf257600080fd5b5035919050565b60008060208385031215612d0c57600080fd5b823567ffffffffffffffff811115612d2357600080fd5b612d2f85828601612c52565b90969095509350505050565b600060208284031215612d4d57600080fd5b81358015158114612d5d57600080fd5b9392505050565b80356001600160a01b0381168114612d7b57600080fd5b919050565b600060208284031215612d9257600080fd5b612d5d82612d64565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612dc257600080fd5b813567ffffffffffffffff80821115612ddd57612ddd612d9b565b604051601f8301601f19908116603f01168101908282118183101715612e0557612e05612d9b565b81604052838152866020858801011115612e1e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a08688031215612e5657600080fd5b85359450602086013560048110612e6c57600080fd5b9350604086013567ffffffffffffffff80821115612e8957600080fd5b612e9589838a01612db1565b94506060880135915080821115612eab57600080fd5b612eb789838a01612db1565b93506080880135915080821115612ecd57600080fd5b50612eda88828901612db1565b9150509295509295909350565b60008060008060008060008060006101208a8c031215612f0657600080fd5b893567ffffffffffffffff80821115612f1e57600080fd5b612f2a8d838e01612db1565b9a5060208c0135915080821115612f4057600080fd5b612f4c8d838e01612db1565b995060408c0135915080821115612f6257600080fd5b612f6e8d838e01612db1565b985060608c0135915080821115612f8457600080fd5b612f908d838e01612db1565b975060808c0135965060a08c0135915080821115612fad57600080fd5b612fb98d838e01612db1565b955060c08c0135915080821115612fcf57600080fd5b612fdb8d838e01612db1565b945060e08c0135915080821115612ff157600080fd5b612ffd8d838e01612db1565b93506101008c013591508082111561301457600080fd5b506130218c828d01612db1565b9150509295985092959850929598565b60006020828403121561304357600080fd5b813567ffffffffffffffff81111561305a57600080fd5b61306684828501612db1565b949350505050565b6000806040838503121561308157600080fd5b61308a83612d64565b915060208301356006811061309e57600080fd5b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b600481106130cf576130cf6130a9565b9052565b60005b838110156130ee5781810151838201526020016130d6565b50506000910152565b6000815180845261310f8160208601602086016130d3565b601f01601f19169290920160200192915050565b61312e8282516130bf565b6000602082015160c0602085015261314960c08501826130f7565b90506040830151848203604086015261316282826130f7565b915050606083015160608501526080830151848203608086015261318682826130f7565b60a0948501516001600160a01b03169590940194909452509092915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156131fa57603f198886030184526131e8858351613123565b945092850192908501906001016131cc565b5092979650505050505050565b87815260e06020820152600061322060e08301896130f7565b60408301979097525060608101949094526001600160a01b03929092166080840152151560a0830152151560c09091015292915050565b602081526000612d5d6020830184613123565b602081016006831061327e5761327e6130a9565b91905290565b6000806040838503121561329757600080fd5b50508035926020909101359150565b6132b081886130bf565b60c0602082015260006132c660c08301886130f7565b82810360408401526132d881886130f7565b905085606084015282810360808401526132f281866130f7565b91505060018060a01b03831660a0830152979650505050505050565b60208152815160208201526000602083015160e060408401526133356101008401826130f7565b9050604084015160608401526060840151608084015260018060a01b0360808501511660a084015260a0840151151560c084015260c0840151151560e08401528091505092915050565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b60208082526010908201526f4d616e64692f41646d696e206f6e6c7960801b604082015260600190565b8183823760009101908152919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561267a5761267a6133e1565b634e487b7160e01b600052603260045260246000fd5b6020808252600a908201526927b7363c9037bbb732b960b11b604082015260600190565b6020808252600f908201526e10985d18da081b9bdd08199bdd5b99608a1b604082015260600190565b600181811c9082168061348157607f821691505b60208210810361204157634e487b7160e01b600052602260045260246000fd5b601f8211156134eb57600081815260208120601f850160051c810160208610156134c85750805b601f850160051c820191505b818110156134e7578281556001016134d4565b5050505b505050565b815167ffffffffffffffff81111561350a5761350a612d9b565b61351e81613518845461346d565b846134a1565b602080601f831160018114613553576000841561353b5750858301515b600019600386901b1c1916600185901b1785556134e7565b600085815260208120601f198616915b8281101561358257888601518255948401946001909101908401613563565b50858210156135a05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6135ba81856130bf565b6060602082015260006135d060608301856130f7565b82810360408401526135e281856130f7565b9695505050505050565b6421b937b81d60d91b81526000855161360c816005850160208a016130d3565b691d902430b93b32b9ba1d60b11b600591840191820152855161363681600f840160208a016130d3565b6c1d902330b936b2b920b232391d60991b600f9290910191820152845161366481601c8401602089016130d3565b661d9021b2b93a1d60c91b601c9290910191820152835161368c8160238401602088016130d3565b016023019695505050505050565b6040815260006136ad60408301856130f7565b90508260208301529392505050565b600082516136ce8184602087016130d3565b9190910192915050565b808202811582820484141761267a5761267a6133e1565b8082018082111561267a5761267a6133e1565b600081613711576137116133e1565b506000190190565b60008261373657634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220feef4e7d83f8056607b8e16cc35d26da52d1e6c2ccdaf24d0d9baa7268392ca264736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x1C2 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8DA5CB5B GT PUSH2 0xF7 JUMPI DUP1 PUSH4 0xAA68B48E GT PUSH2 0x95 JUMPI DUP1 PUSH4 0xE3BD2867 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xE3BD2867 EQ PUSH2 0x55E JUMPI DUP1 PUSH4 0xE561DDDC EQ PUSH2 0x4AF JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x57E JUMPI DUP1 PUSH4 0xF9CA4274 EQ PUSH2 0x59E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xAA68B48E EQ PUSH2 0x4E4 JUMPI DUP1 PUSH4 0xAB005011 EQ PUSH2 0x516 JUMPI DUP1 PUSH4 0xB0A62957 EQ PUSH2 0x536 JUMPI DUP1 PUSH4 0xCA593C59 EQ PUSH2 0x556 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x99374642 GT PUSH2 0xD1 JUMPI DUP1 PUSH4 0x99374642 EQ PUSH2 0x452 JUMPI DUP1 PUSH4 0xA0B6041D EQ PUSH2 0x48F JUMPI DUP1 PUSH4 0xA8FABFA5 EQ PUSH2 0x4AF JUMPI DUP1 PUSH4 0xA9437275 EQ PUSH2 0x4C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x3BA JUMPI DUP1 PUSH4 0x906DDFF1 EQ PUSH2 0x3F2 JUMPI DUP1 PUSH4 0x95E46802 EQ PUSH2 0x425 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x36214A1C GT PUSH2 0x164 JUMPI DUP1 PUSH4 0x571C3E60 GT PUSH2 0x13E JUMPI DUP1 PUSH4 0x571C3E60 EQ PUSH2 0x334 JUMPI DUP1 PUSH4 0x5C975ABB EQ PUSH2 0x354 JUMPI DUP1 PUSH4 0x5FCB2120 EQ PUSH2 0x377 JUMPI DUP1 PUSH4 0x716DA295 EQ PUSH2 0x38D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x36214A1C EQ PUSH2 0x2D4 JUMPI DUP1 PUSH4 0x3D41EDA1 EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x52969187 EQ PUSH2 0x314 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x15770F92 GT PUSH2 0x1A0 JUMPI DUP1 PUSH4 0x15770F92 EQ PUSH2 0x243 JUMPI DUP1 PUSH4 0x16C38B3C EQ PUSH2 0x267 JUMPI DUP1 PUSH4 0x290B17EC EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0x32FC2162 EQ PUSH2 0x2A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x8EC1EE8 EQ PUSH2 0x1C7 JUMPI DUP1 PUSH4 0xA861F2A EQ PUSH2 0x1E9 JUMPI DUP1 PUSH4 0x11459AD2 EQ PUSH2 0x209 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x1E2 CALLDATASIZE PUSH1 0x4 PUSH2 0x2C94 JUMP JUMPDEST PUSH2 0x5CB JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x204 CALLDATASIZE PUSH1 0x4 PUSH2 0x2CE0 JUMP JUMPDEST PUSH2 0x7D4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x215 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x229 PUSH2 0x224 CALLDATASIZE PUSH1 0x4 PUSH2 0x2CF9 JUMP JUMPDEST PUSH2 0xA26 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP3 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP2 SWAP1 SWAP2 MSTORE ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x24F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x259 PUSH1 0x8 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x23A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x282 CALLDATASIZE PUSH1 0x4 PUSH2 0x2D3B JUMP JUMPDEST PUSH2 0xAEA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x259 PUSH2 0x2A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x2CE0 JUMP JUMPDEST PUSH2 0xB7C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x259 PUSH2 0x2C2 CALLDATASIZE PUSH1 0x4 PUSH2 0x2D80 JUMP JUMPDEST PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x2EF CALLDATASIZE PUSH1 0x4 PUSH2 0x2E3E JUMP JUMPDEST PUSH2 0xB9D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x300 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x30F CALLDATASIZE PUSH1 0x4 PUSH2 0x2EE7 JUMP JUMPDEST PUSH2 0xF56 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x320 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x32F CALLDATASIZE PUSH1 0x4 PUSH2 0x3031 JUMP JUMPDEST PUSH2 0x14A3 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x340 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x34F CALLDATASIZE PUSH1 0x4 PUSH2 0x306E JUMP JUMPDEST PUSH2 0x1587 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x360 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD PUSH1 0xFF AND PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x23A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x383 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x259 PUSH2 0x708 DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x399 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3AD PUSH2 0x3A8 CALLDATASIZE PUSH1 0x4 PUSH2 0x3031 JUMP JUMPDEST PUSH2 0x16D8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23A SWAP2 SWAP1 PUSH2 0x31A5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x6 SLOAD PUSH2 0x3DA SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x23A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x412 PUSH2 0x40D CALLDATASIZE PUSH1 0x4 PUSH2 0x2CE0 JUMP JUMPDEST PUSH2 0x198A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23A SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3207 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x431 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x445 PUSH2 0x440 CALLDATASIZE PUSH1 0x4 PUSH2 0x3031 JUMP JUMPDEST PUSH2 0x1A62 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23A SWAP2 SWAP1 PUSH2 0x3257 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x45E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x482 PUSH2 0x46D CALLDATASIZE PUSH1 0x4 PUSH2 0x2D80 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23A SWAP2 SWAP1 PUSH2 0x326A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x49B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x259 PUSH2 0x4AA CALLDATASIZE PUSH1 0x4 PUSH2 0x2CE0 JUMP JUMPDEST PUSH2 0x1D3D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x5 SLOAD PUSH2 0x259 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3AD PUSH2 0x4DF CALLDATASIZE PUSH1 0x4 PUSH2 0x2CE0 JUMP JUMPDEST PUSH2 0x1DA6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x504 PUSH2 0x4FF CALLDATASIZE PUSH1 0x4 PUSH2 0x3284 JUMP JUMPDEST PUSH2 0x2047 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23A SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x32A6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x522 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x445 PUSH2 0x531 CALLDATASIZE PUSH1 0x4 PUSH2 0x2CE0 JUMP JUMPDEST PUSH2 0x2242 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x542 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x259 PUSH2 0x551 CALLDATASIZE PUSH1 0x4 PUSH2 0x2C94 JUMP JUMPDEST PUSH2 0x22CD JUMP JUMPDEST PUSH2 0x1E7 PUSH2 0x24E7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x56A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x259 PUSH2 0x579 CALLDATASIZE PUSH1 0x4 PUSH2 0x2CF9 JUMP JUMPDEST PUSH2 0x264C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x58A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E7 PUSH2 0x599 CALLDATASIZE PUSH1 0x4 PUSH2 0x2D80 JUMP JUMPDEST PUSH2 0x2680 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5BE PUSH2 0x5B9 CALLDATASIZE PUSH1 0x4 PUSH2 0x3031 JUMP JUMPDEST PUSH2 0x276D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23A SWAP2 SWAP1 PUSH2 0x330E JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0xFF AND PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x5EF JUMPI PUSH2 0x5EF PUSH2 0x30A9 JUMP JUMPDEST SUB PUSH2 0x615 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x337F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH1 0x2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x63C JUMPI PUSH2 0x63C PUSH2 0x30A9 JUMP JUMPDEST EQ DUP1 PUSH2 0x659 JUMPI POP PUSH1 0x5 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x657 JUMPI PUSH2 0x657 PUSH2 0x30A9 JUMP JUMPDEST EQ JUMPDEST PUSH2 0x675 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x33A7 JUMP JUMPDEST PUSH2 0x67D PUSH2 0x28F1 JUMP JUMPDEST PUSH2 0x685 PUSH2 0x2939 JUMP JUMPDEST DUP3 PUSH2 0x6CE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH25 0x43726F7020747970652063616E6E6F7420626520656D707479 PUSH1 0x38 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP3 GT PUSH2 0x712 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x5072696365206D757374206265203E203 PUSH1 0x7C SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x724 SWAP3 SWAP2 SWAP1 PUSH2 0x33D1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB DUP3 KECCAK256 PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 SWAP1 DUP2 MSTORE DUP4 DUP3 KECCAK256 DUP6 DUP6 ADD DUP6 MSTORE DUP9 DUP7 MSTORE TIMESTAMP DUP3 DUP8 ADD SWAP1 DUP2 MSTORE DUP2 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP5 SSTORE SWAP3 DUP6 MSTORE SWAP3 SWAP1 SWAP4 KECCAK256 SWAP6 MLOAD PUSH1 0x2 SWAP1 SWAP3 MUL SWAP1 SWAP6 ADD SWAP1 DUP2 SSTORE SWAP1 MLOAD SWAP4 ADD SWAP3 SWAP1 SWAP3 SSTORE MLOAD SWAP1 SWAP2 POP CALLER SWAP1 PUSH2 0x784 SWAP1 DUP8 SWAP1 DUP8 SWAP1 PUSH2 0x33D1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB DUP3 KECCAK256 DUP7 DUP4 MSTORE TIMESTAMP PUSH1 0x20 DUP5 ADD MSTORE SWAP2 PUSH32 0xA48CE64D777E75FE5538DAAD7210E5F17AA7AF207060A3CA17543550E22A030 SWAP2 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP PUSH2 0x7CE PUSH1 0x1 PUSH1 0x0 SSTORE JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0xFF AND PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x7F8 JUMPI PUSH2 0x7F8 PUSH2 0x30A9 JUMP JUMPDEST SUB PUSH2 0x815 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x337F JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH1 0x2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x83C JUMPI PUSH2 0x83C PUSH2 0x30A9 JUMP JUMPDEST EQ DUP1 PUSH2 0x859 JUMPI POP PUSH1 0x5 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x857 JUMPI PUSH2 0x857 PUSH2 0x30A9 JUMP JUMPDEST EQ JUMPDEST PUSH2 0x875 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x33A7 JUMP JUMPDEST PUSH2 0x87D PUSH2 0x28F1 JUMP JUMPDEST PUSH2 0x885 PUSH2 0x2939 JUMP JUMPDEST PUSH1 0x0 DUP3 GT PUSH2 0x8CA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x416D6F756E74206D757374206265203E203 PUSH1 0x74 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP3 DUP2 LT ISZERO PUSH2 0x923 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x496E73756666696369656E74206C6971756964697479 PUSH1 0x50 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH2 0x92D DUP4 DUP3 PUSH2 0x33F7 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0x8 DUP1 SLOAD DUP6 SWAP3 SWAP1 PUSH2 0x952 SWAP1 DUP5 SWAP1 PUSH2 0x33F7 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD PUSH1 0x0 SWAP1 CALLER SWAP1 DUP6 SWAP1 DUP4 DUP2 DUP2 DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x999 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x99E JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x9E1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x151C985B9CD9995C8819985A5B1959 PUSH1 0x8A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP5 DUP2 MSTORE CALLER SWAP1 PUSH32 0xB1CCE8684B4FFA8667B4577654E61EE3480D661EE9C27522AC80E211F6BD4D25 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP PUSH2 0xA22 PUSH1 0x1 PUSH1 0x0 SSTORE JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xA3B SWAP3 SWAP2 SWAP1 PUSH2 0x33D1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB SWAP1 SWAP2 KECCAK256 PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD SWAP2 SWAP3 POP SWAP1 PUSH2 0xA9E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x4E6F207072696365206F62736572766174696F6E73 PUSH1 0x58 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP3 SWAP1 PUSH2 0xAB1 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x33F7 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0xAC1 JUMPI PUSH2 0xAC1 PUSH2 0x340A JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD DUP2 PUSH1 0x1 ADD SLOAD SWAP5 POP SWAP5 POP POP POP POP JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xB14 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x3420 JUMP JUMPDEST PUSH2 0xB1C PUSH2 0x2939 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xB2F JUMPI PUSH2 0xB2A PUSH2 0x2992 JUMP JUMPDEST PUSH2 0xB37 JUMP JUMPDEST PUSH2 0xB37 PUSH2 0x29DC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP2 ISZERO ISZERO DUP2 MSTORE CALLER SWAP1 PUSH32 0xE7F645CFCA4612E1136CF53CC61A2028D41F30A9BD510C8C467671EE3D4EC83D SWAP1 PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH2 0xB79 PUSH1 0x1 PUSH1 0x0 SSTORE JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x5 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xB8C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 ADD SLOAD SWAP1 POP DUP2 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0xFF AND PUSH1 0x5 DUP2 GT ISZERO PUSH2 0xBC1 JUMPI PUSH2 0xBC1 PUSH2 0x30A9 JUMP JUMPDEST SUB PUSH2 0xBDE JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x337F JUMP JUMPDEST PUSH2 0xBE6 PUSH2 0x28F1 JUMP JUMPDEST PUSH2 0xBEE PUSH2 0x2939 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD DUP6 SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0xC28 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x3444 JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 SLOAD DUP11 DUP6 MSTORE PUSH1 0x2 SWAP1 SWAP3 MSTORE SWAP1 SWAP3 KECCAK256 ADD SLOAD PUSH1 0xFF SWAP2 DUP3 AND SWAP2 PUSH1 0x1 PUSH1 0xA8 SHL SWAP1 SWAP2 DIV AND ISZERO PUSH2 0xC98 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x11 PUSH1 0x24 DUP3 ADD MSTORE PUSH17 0x10985D18DA081A5CC81C9958D85B1B1959 PUSH1 0x7A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP6 MLOAD GT PUSH2 0xCE1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x4163746F722063616E6E6F7420626520656D707479 PUSH1 0x58 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP5 MLOAD GT PUSH2 0xD32 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4C6F636174696F6E2063616E6E6F7420626520656D7074790000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH2 0xD3C DUP8 DUP8 PUSH2 0x2A1E JUMP JUMPDEST PUSH2 0xD88 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x496E76616C6964207374616765207472616E736974696F6E0000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x5 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0xD9C JUMPI PUSH2 0xD9C PUSH2 0x30A9 JUMP JUMPDEST EQ DUP1 PUSH2 0xDAD JUMPI POP PUSH2 0xDAD DUP7 DUP3 PUSH2 0x2AC3 JUMP JUMPDEST PUSH2 0xDF9 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x526F6C652063616E6E6F74207570646174652074686973207374616765000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 DUP9 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 DUP9 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xE29 JUMPI PUSH2 0xE29 PUSH2 0x30A9 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD DUP10 SWAP1 MSTORE PUSH1 0x40 DUP3 ADD DUP9 SWAP1 MSTORE TIMESTAMP PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0x80 DUP3 ADD DUP8 SWAP1 MSTORE CALLER PUSH1 0xA0 SWAP1 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE DUP3 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP6 SSTORE PUSH1 0x0 SWAP5 DUP6 MSTORE SWAP2 SWAP1 SWAP4 KECCAK256 DUP3 MLOAD PUSH1 0x6 SWAP1 SWAP5 MUL ADD DUP1 SLOAD SWAP3 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP4 SWAP2 PUSH1 0xFF NOT AND SWAP1 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xE8C JUMPI PUSH2 0xE8C PUSH2 0x30A9 JUMP JUMPDEST MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0xEA5 SWAP1 DUP3 PUSH2 0x34F0 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0xEBA SWAP1 DUP3 PUSH2 0x34F0 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x3 DUP3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD PUSH1 0x4 DUP3 ADD SWAP1 PUSH2 0xED9 SWAP1 DUP3 PUSH2 0x34F0 JUMP JUMPDEST POP PUSH1 0xA0 SWAP2 SWAP1 SWAP2 ADD MLOAD PUSH1 0x5 SWAP1 SWAP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x40 MLOAD CALLER SWAP1 DUP9 SWAP1 PUSH32 0x2CEFCEAA731C274ADF2F7BD3B3237D2E06CB4FE59BD62D9EA2055287A132D364 SWAP1 PUSH2 0xF3B SWAP1 DUP11 SWAP1 DUP11 SWAP1 DUP11 SWAP1 PUSH2 0x35B0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP PUSH2 0xF4F PUSH1 0x1 PUSH1 0x0 SSTORE JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0xFF AND PUSH1 0x5 DUP2 GT ISZERO PUSH2 0xF7A JUMPI PUSH2 0xF7A PUSH2 0x30A9 JUMP JUMPDEST SUB PUSH2 0xF97 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x337F JUMP JUMPDEST PUSH2 0xF9F PUSH2 0x28F1 JUMP JUMPDEST PUSH2 0xFA7 PUSH2 0x2939 JUMP JUMPDEST DUP9 MLOAD PUSH1 0x20 DUP11 ADD KECCAK256 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x1014 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x426174636820616C726561647920657869737473 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP11 MLOAD GT PUSH2 0x1065 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x42617463682049442063616E6E6F7420626520656D7074790000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP10 MLOAD GT PUSH2 0x10B6 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4661726D6572206E616D652063616E6E6F7420626520656D7074790000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP9 MLOAD GT PUSH2 0x1107 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4661726D657220616464726573732063616E6E6F7420626520656D7074790000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP8 MLOAD GT PUSH2 0x1154 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH25 0x43726F7020747970652063616E6E6F7420626520656D707479 PUSH1 0x38 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP6 MLOAD GT PUSH2 0x11A5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4861727665737420646174652063616E6E6F7420626520656D70747900000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP5 MLOAD GT PUSH2 0x11EF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x4F726967696E2063616E6E6F7420626520656D707479 PUSH1 0x50 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP7 GT PUSH2 0x123F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5175616E74697479206D7573742062652067726561746572207468616E203000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xE0 DUP2 ADD DUP3 MSTORE DUP3 DUP2 MSTORE PUSH1 0x20 DUP1 DUP3 ADD DUP6 DUP2 MSTORE DUP3 DUP5 ADD DUP11 SWAP1 MSTORE TIMESTAMP PUSH1 0x60 DUP5 ADD MSTORE CALLER PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0x1 PUSH1 0xA0 DUP5 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 PUSH1 0xC0 DUP6 ADD DUP2 SWAP1 MSTORE DUP7 DUP2 MSTORE PUSH1 0x2 SWAP1 SWAP4 MSTORE SWAP4 SWAP1 SWAP2 KECCAK256 DUP3 MLOAD DUP2 SSTORE SWAP1 MLOAD DUP6 SWAP4 DUP3 ADD SWAP1 PUSH2 0x1299 SWAP1 DUP3 PUSH2 0x34F0 JUMP JUMPDEST POP PUSH1 0x40 DUP3 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x3 DUP1 DUP5 ADD SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x4 SWAP1 SWAP4 ADD DUP1 SLOAD PUSH1 0xA0 DUP7 ADD MLOAD PUSH1 0xC0 SWAP7 DUP8 ADD MLOAD ISZERO ISZERO PUSH1 0x1 PUSH1 0xA8 SHL MUL PUSH1 0xFF PUSH1 0xA8 SHL NOT SWAP2 ISZERO ISZERO PUSH1 0x1 PUSH1 0xA0 SHL MUL PUSH1 0x1 PUSH1 0x1 PUSH1 0xA8 SHL SUB NOT SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP8 AND SWAP7 SWAP1 SWAP7 OR SWAP2 SWAP1 SWAP2 OR AND SWAP4 SWAP1 SWAP4 OR SWAP1 SWAP3 SSTORE PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 SWAP3 SWAP1 SWAP3 MSTORE DUP1 DUP3 KECCAK256 DUP2 MLOAD SWAP4 DUP5 ADD SWAP1 SWAP2 MSTORE SWAP2 SWAP1 DUP2 SWAP1 DUP2 MSTORE PUSH1 0x20 ADD DUP13 DUP2 MSTORE PUSH1 0x20 ADD DUP8 DUP2 MSTORE PUSH1 0x20 ADD TIMESTAMP DUP2 MSTORE PUSH1 0x20 ADD DUP11 DUP10 DUP14 DUP10 PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1350 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x35EC JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F NOT DUP2 DUP5 SUB ADD DUP2 MSTORE SWAP2 SWAP1 MSTORE DUP2 MSTORE CALLER PUSH1 0x20 SWAP2 DUP3 ADD MSTORE DUP3 SLOAD PUSH1 0x1 DUP2 DUP2 ADD DUP6 SSTORE PUSH1 0x0 SWAP5 DUP6 MSTORE SWAP2 SWAP1 SWAP4 KECCAK256 DUP3 MLOAD PUSH1 0x6 SWAP1 SWAP5 MUL ADD DUP1 SLOAD SWAP3 SWAP4 SWAP1 SWAP3 SWAP1 SWAP2 DUP4 SWAP2 PUSH1 0xFF NOT AND SWAP1 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x13A4 JUMPI PUSH2 0x13A4 PUSH2 0x30A9 JUMP JUMPDEST MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0x13BD SWAP1 DUP3 PUSH2 0x34F0 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0x13D2 SWAP1 DUP3 PUSH2 0x34F0 JUMP JUMPDEST POP PUSH1 0x60 DUP3 ADD MLOAD PUSH1 0x3 DUP3 ADD SSTORE PUSH1 0x80 DUP3 ADD MLOAD PUSH1 0x4 DUP3 ADD SWAP1 PUSH2 0x13F1 SWAP1 DUP3 PUSH2 0x34F0 JUMP JUMPDEST POP PUSH1 0xA0 SWAP2 SWAP1 SWAP2 ADD MLOAD PUSH1 0x5 SWAP2 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE DUP1 SLOAD PUSH1 0x1 DUP2 ADD DUP3 SSTORE PUSH1 0x0 SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x36B6384B5ECA791C62761152D0C79BB0604C104A5FB6F4EB0703F3154BB3DB0 ADD DUP3 SWAP1 SSTORE PUSH1 0x40 MLOAD CALLER SWAP1 DUP4 SWAP1 PUSH32 0x1E548D6C3FB449F78F5B7457156DCFB300CBB65D12A4038B334B6BFBDBA95738 SWAP1 PUSH2 0x1484 SWAP1 DUP6 SWAP1 DUP13 SWAP1 PUSH2 0x369A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP PUSH2 0x1498 PUSH1 0x1 PUSH1 0x0 SSTORE JUMP JUMPDEST POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x14CD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x3420 JUMP JUMPDEST PUSH2 0x14D5 PUSH2 0x2939 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP3 ADD KECCAK256 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x151A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x3444 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x4 ADD DUP1 SLOAD PUSH1 0xFF PUSH1 0xA8 SHL NOT AND PUSH1 0x1 PUSH1 0xA8 SHL OR SWAP1 SSTORE MLOAD CALLER SWAP1 PUSH2 0x154C SWAP1 DUP5 SWAP1 PUSH2 0x36BC JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB DUP2 KECCAK256 SWAP1 PUSH32 0x423AE59B8825A6F0D6872201B0102D5BC3FF543CCA72DDF16D2E4D698FC9898B SWAP1 PUSH1 0x0 SWAP1 LOG3 POP PUSH2 0xB79 PUSH1 0x1 PUSH1 0x0 SSTORE JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x15B1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x3420 JUMP JUMPDEST PUSH2 0x15B9 PUSH2 0x2939 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x1601 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP3 SWAP2 SWAP1 PUSH1 0xFF NOT AND PUSH1 0x1 DUP4 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x1636 JUMPI PUSH2 0x1636 PUSH2 0x30A9 JUMP JUMPDEST MUL OR SWAP1 SSTORE POP DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xC3F8F61911A1537261F77E2703626E158E299A98E341024ECAA26BBD1D884C64 DUP3 PUSH1 0x40 MLOAD PUSH2 0x1674 SWAP2 SWAP1 PUSH2 0x326A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH32 0x175DEAA679C5CDAB1525A1961772F2791BA9122B522490D1625BEAF3BA3F6389 PUSH1 0x0 DUP4 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x16BB JUMPI PUSH2 0x16BB PUSH2 0x30A9 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP2 EQ ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH2 0xA22 PUSH1 0x1 PUSH1 0x0 SSTORE JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP3 ADD KECCAK256 PUSH1 0x60 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x1720 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x3444 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE SWAP2 SWAP4 SWAP1 SWAP3 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x197E JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x6 DUP5 MUL SWAP1 SWAP2 ADD DUP1 SLOAD DUP3 SWAP1 PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1784 JUMPI PUSH2 0x1784 PUSH2 0x30A9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1795 JUMPI PUSH2 0x1795 PUSH2 0x30A9 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x17A9 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x17D5 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1822 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x17F7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1822 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1805 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x183B SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1867 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x18B4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1889 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x18B4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1897 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD DUP1 SLOAD PUSH2 0x18D7 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1903 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1950 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1925 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1950 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1933 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x5 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 SWAP2 DUP3 ADD MSTORE SWAP1 DUP3 MSTORE PUSH1 0x1 SWAP3 SWAP1 SWAP3 ADD SWAP2 ADD PUSH2 0x1749 JUMP JUMPDEST POP POP POP POP SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH2 0x19AC SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x19D8 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1A25 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x19FA JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1A25 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1A08 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP PUSH1 0x2 DUP5 ADD SLOAD PUSH1 0x3 DUP6 ADD SLOAD PUSH1 0x4 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 SWAP1 SWAP4 SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0xA0 SHL DUP3 DIV DUP2 AND SWAP2 PUSH1 0x1 PUSH1 0xA8 SHL SWAP1 DIV AND DUP8 JUMP JUMPDEST PUSH2 0x1A6A PUSH2 0x2C12 JUMP JUMPDEST DUP2 MLOAD PUSH1 0x20 DUP4 ADD KECCAK256 PUSH1 0x0 SWAP1 PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x1AAF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x3444 JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x1AF8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x4E6F2075706461746573 PUSH1 0xB0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST DUP1 SLOAD DUP2 SWAP1 PUSH2 0x1B08 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x33F7 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x1B18 JUMPI PUSH2 0x1B18 PUSH2 0x340A JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x6 SWAP1 SWAP3 MUL ADD DUP1 SLOAD DUP3 SWAP1 PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1B4B JUMPI PUSH2 0x1B4B PUSH2 0x30A9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1B5C JUMPI PUSH2 0x1B5C PUSH2 0x30A9 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x1B70 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1B9C SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1BE9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1BBE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1BE9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1BCC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x1C02 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1C2E SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1C7B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1C50 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1C7B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1C5E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD DUP1 SLOAD PUSH2 0x1C9E SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1CCA SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1D17 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1CEC JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1D17 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1CFA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x5 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x5 SLOAD PUSH1 0x0 SWAP1 DUP3 LT PUSH2 0x1D81 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x4F7574206F6620626F756E6473 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x5 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x1D94 JUMPI PUSH2 0x1D94 PUSH2 0x340A JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH1 0x60 SWAP1 DUP3 SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x1DE3 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x3444 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 DUP1 SLOAD DUP3 MLOAD DUP2 DUP6 MUL DUP2 ADD DUP6 ADD SWAP1 SWAP4 MSTORE DUP1 DUP4 MSTORE SWAP2 SWAP4 SWAP1 SWAP3 DUP5 ADD JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x197E JUMPI PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 SWAP1 KECCAK256 PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP2 MSTORE PUSH1 0x6 DUP5 MUL SWAP1 SWAP2 ADD DUP1 SLOAD DUP3 SWAP1 PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1E47 JUMPI PUSH2 0x1E47 PUSH2 0x30A9 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1E58 JUMPI PUSH2 0x1E58 PUSH2 0x30A9 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x1E6C SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1E98 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1EE5 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1EBA JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1EE5 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1EC8 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x1EFE SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1F2A SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1F77 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1F4C JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1F77 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1F5A JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x4 DUP3 ADD DUP1 SLOAD PUSH2 0x1F9A SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1FC6 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2013 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1FE8 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2013 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1FF6 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x5 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 SWAP2 DUP3 ADD MSTORE SWAP1 DUP3 MSTORE PUSH1 0x1 SWAP3 SWAP1 SWAP3 ADD SWAP2 ADD PUSH2 0x1E0C JUMP JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x2063 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x6 SWAP1 SWAP2 MUL ADD DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0xFF SWAP1 SWAP3 AND SWAP5 POP SWAP2 SWAP3 POP PUSH2 0x208E SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x20BA SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2107 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x20DC JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2107 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x20EA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x211C SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2148 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2195 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x216A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2195 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2178 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x3 ADD SLOAD SWAP1 DUP1 PUSH1 0x4 ADD DUP1 SLOAD PUSH2 0x21B0 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x21DC SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2229 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x21FE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2229 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x220C JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP PUSH1 0x5 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP7 JUMP JUMPDEST PUSH2 0x224A PUSH2 0x2C12 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x2 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x2284 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x3444 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x1AF8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xA PUSH1 0x24 DUP3 ADD MSTORE PUSH10 0x4E6F2075706461746573 PUSH1 0xB0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP1 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x22E0 SWAP3 SWAP2 SWAP1 PUSH2 0x33D1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB SWAP1 SWAP2 KECCAK256 PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE SWAP2 SWAP1 SWAP2 KECCAK256 DUP1 SLOAD SWAP2 SWAP3 POP SWAP1 PUSH2 0x2343 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x4E6F207072696365206F62736572766174696F6E73 PUSH1 0x58 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x0 DUP5 ISZERO PUSH2 0x2351 JUMPI DUP5 PUSH2 0x2355 JUMP JUMPDEST PUSH2 0x708 JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 GT PUSH2 0x2398 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x496E76616C69642077696E646F77 PUSH1 0x90 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST TIMESTAMP PUSH1 0x0 PUSH2 0x23A5 DUP4 DUP4 PUSH2 0x33F7 JUMP JUMPDEST DUP5 SLOAD SWAP1 SWAP2 POP PUSH1 0x0 SWAP1 DUP2 SWAP1 DUP5 SWAP1 JUMPDEST DUP1 ISZERO PUSH2 0x247C JUMPI PUSH1 0x0 DUP9 PUSH2 0x23C6 PUSH1 0x1 DUP5 PUSH2 0x33F7 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x23D6 JUMPI PUSH2 0x23D6 PUSH2 0x340A JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD SWAP1 POP DUP3 DUP2 PUSH1 0x1 ADD SLOAD LT PUSH2 0x23F7 JUMPI POP PUSH2 0x246A JUMP JUMPDEST PUSH1 0x0 DUP7 DUP3 PUSH1 0x1 ADD SLOAD GT PUSH2 0x240A JUMPI DUP7 PUSH2 0x2410 JUMP JUMPDEST DUP2 PUSH1 0x1 ADD SLOAD JUMPDEST SWAP1 POP DUP1 DUP5 GT ISZERO PUSH2 0x2450 JUMPI PUSH1 0x0 PUSH2 0x2426 DUP3 DUP7 PUSH2 0x33F7 JUMP JUMPDEST DUP4 SLOAD SWAP1 SWAP2 POP PUSH2 0x2436 SWAP1 DUP3 SWAP1 PUSH2 0x36D8 JUMP JUMPDEST PUSH2 0x2440 SWAP1 DUP9 PUSH2 0x36EF JUMP JUMPDEST SWAP7 POP PUSH2 0x244C DUP2 DUP8 PUSH2 0x36EF JUMP JUMPDEST SWAP6 POP POP JUMPDEST DUP7 DUP3 PUSH1 0x1 ADD SLOAD GT PUSH2 0x2462 JUMPI POP POP PUSH2 0x247C JUMP JUMPDEST POP PUSH1 0x1 ADD SLOAD SWAP2 POP JUMPDEST DUP1 PUSH2 0x2474 DUP2 PUSH2 0x3702 JUMP JUMPDEST SWAP2 POP POP PUSH2 0x23B2 JUMP JUMPDEST POP PUSH1 0x0 DUP3 GT PUSH2 0x24CD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x496E73756666696369656E74206F62736572766174696F6E7300000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH2 0x24D7 DUP3 DUP5 PUSH2 0x3719 JUMP JUMPDEST SWAP13 SWAP12 POP POP POP POP POP POP POP POP POP POP POP POP JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD PUSH1 0xFF AND PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x250B JUMPI PUSH2 0x250B PUSH2 0x30A9 JUMP JUMPDEST SUB PUSH2 0x2528 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x337F JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND PUSH1 0x2 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x254F JUMPI PUSH2 0x254F PUSH2 0x30A9 JUMP JUMPDEST EQ DUP1 PUSH2 0x256C JUMPI POP PUSH1 0x5 DUP2 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x256A JUMPI PUSH2 0x256A PUSH2 0x30A9 JUMP JUMPDEST EQ JUMPDEST PUSH2 0x2588 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x33A7 JUMP JUMPDEST PUSH2 0x2590 PUSH2 0x28F1 JUMP JUMPDEST PUSH2 0x2598 PUSH2 0x2939 JUMP JUMPDEST PUSH1 0x0 CALLVALUE GT PUSH2 0x25DD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x416D6F756E74206D757374206265203E203 PUSH1 0x74 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST CALLER PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x7 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD CALLVALUE SWAP3 SWAP1 PUSH2 0x25FC SWAP1 DUP5 SWAP1 PUSH2 0x36EF JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP CALLVALUE PUSH1 0x8 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x2615 SWAP2 SWAP1 PUSH2 0x36EF JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD CALLVALUE DUP2 MSTORE CALLER SWAP1 PUSH32 0x7FF07CE9A287649537E4B012E45CF012D90228B12E2B56BB03515A6B5436FCDF SWAP1 PUSH1 0x20 ADD PUSH2 0xB67 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x265F SWAP3 SWAP2 SWAP1 PUSH2 0x33D1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB SWAP1 SWAP2 KECCAK256 PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x9 PUSH1 0x20 MSTORE KECCAK256 SLOAD SWAP2 POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x6 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x26AA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x3420 JUMP JUMPDEST PUSH2 0x26B2 PUSH2 0x2939 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x26FA JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x6 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR SWAP1 SWAP4 SSTORE PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x5 OR SWAP1 SSTORE MLOAD SWAP4 SWAP1 SWAP3 AND SWAP3 SWAP1 SWAP2 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP PUSH2 0xB79 PUSH1 0x1 PUSH1 0x0 SSTORE JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xE0 DUP2 ADD DUP3 MSTORE PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x60 PUSH1 0x20 DUP1 DUP5 ADD DUP3 SWAP1 MSTORE DUP4 DUP6 ADD DUP4 SWAP1 MSTORE SWAP1 DUP4 ADD DUP3 SWAP1 MSTORE PUSH1 0x80 DUP4 ADD DUP3 SWAP1 MSTORE PUSH1 0xA0 DUP4 ADD DUP3 SWAP1 MSTORE PUSH1 0xC0 DUP4 ADD DUP3 SWAP1 MSTORE DUP5 MLOAD DUP6 DUP3 ADD KECCAK256 DUP1 DUP4 MSTORE PUSH1 0x2 SWAP1 SWAP2 MSTORE SWAP3 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 SWAP2 SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x27E5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x60C SWAP1 PUSH2 0x3444 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xE0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x281D SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2849 SWAP1 PUSH2 0x346D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2896 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x286B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2896 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2879 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x4 SWAP1 SWAP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x60 DUP4 ADD MSTORE PUSH1 0xFF PUSH1 0x1 PUSH1 0xA0 SHL DUP3 DIV DUP2 AND ISZERO ISZERO PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0x1 PUSH1 0xA8 SHL SWAP1 SWAP2 DIV AND ISZERO ISZERO PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x2937 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x10 PUSH1 0x24 DUP3 ADD MSTORE PUSH16 0x14185D5CD8589B194E881C185D5CD959 PUSH1 0x82 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 SLOAD SUB PUSH2 0x298B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1F PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5265656E7472616E637947756172643A207265656E7472616E742063616C6C00 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 SSTORE JUMP JUMPDEST PUSH2 0x299A PUSH2 0x28F1 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0xFF NOT AND DUP2 OR SWAP1 SSTORE PUSH1 0x40 MLOAD CALLER DUP2 MSTORE PUSH32 0x62E78CEA01BEE320CD4E420270B5EA74000D11B0C9F74754EBDBFC544B05A258 SWAP1 PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH2 0x29E4 PUSH2 0x2BC9 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD CALLER DUP2 MSTORE PUSH32 0x5DB9EE0A495BF2E6FF9C91A7834C1BA4FDD244A5E8AA4E537BD38AEAE4B073AA SWAP1 PUSH1 0x20 ADD PUSH2 0x29D2 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD DUP3 SUB PUSH2 0x2A51 JUMPI PUSH1 0x0 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2A48 JUMPI PUSH2 0x2A48 PUSH2 0x30A9 JUMP JUMPDEST EQ SWAP2 POP POP PUSH2 0x267A JUMP JUMPDEST DUP1 SLOAD PUSH1 0x0 SWAP1 DUP3 SWAP1 PUSH2 0x2A64 SWAP1 PUSH1 0x1 SWAP1 PUSH2 0x33F7 JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0x2A74 JUMPI PUSH2 0x2A74 PUSH2 0x340A JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 SWAP1 SWAP2 KECCAK256 PUSH1 0x6 SWAP1 SWAP2 MUL ADD SLOAD PUSH1 0xFF AND SWAP1 POP DUP1 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2A9C JUMPI PUSH2 0x2A9C PUSH2 0x30A9 JUMP JUMPDEST PUSH2 0x2AA7 SWAP1 PUSH1 0x1 PUSH2 0x36EF JUMP JUMPDEST DUP5 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2AB9 JUMPI PUSH2 0x2AB9 PUSH2 0x30A9 JUMP JUMPDEST EQ SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2AD8 JUMPI PUSH2 0x2AD8 PUSH2 0x30A9 JUMP JUMPDEST EQ DUP1 ISZERO PUSH2 0x2AF6 JUMPI POP PUSH1 0x1 DUP3 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x2AF4 JUMPI PUSH2 0x2AF4 PUSH2 0x30A9 JUMP JUMPDEST EQ JUMPDEST ISZERO PUSH2 0x2B03 JUMPI POP PUSH1 0x1 PUSH2 0x267A JUMP JUMPDEST PUSH1 0x1 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2B17 JUMPI PUSH2 0x2B17 PUSH2 0x30A9 JUMP JUMPDEST EQ DUP1 ISZERO PUSH2 0x2B35 JUMPI POP PUSH1 0x2 DUP3 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x2B33 JUMPI PUSH2 0x2B33 PUSH2 0x30A9 JUMP JUMPDEST EQ JUMPDEST ISZERO PUSH2 0x2B42 JUMPI POP PUSH1 0x1 PUSH2 0x267A JUMP JUMPDEST PUSH1 0x2 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2B56 JUMPI PUSH2 0x2B56 PUSH2 0x30A9 JUMP JUMPDEST EQ DUP1 ISZERO PUSH2 0x2B74 JUMPI POP PUSH1 0x3 DUP3 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x2B72 JUMPI PUSH2 0x2B72 PUSH2 0x30A9 JUMP JUMPDEST EQ JUMPDEST ISZERO PUSH2 0x2B81 JUMPI POP PUSH1 0x1 PUSH2 0x267A JUMP JUMPDEST PUSH1 0x3 DUP4 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x2B95 JUMPI PUSH2 0x2B95 PUSH2 0x30A9 JUMP JUMPDEST EQ DUP1 ISZERO PUSH2 0x2BB3 JUMPI POP PUSH1 0x4 DUP3 PUSH1 0x5 DUP2 GT ISZERO PUSH2 0x2BB1 JUMPI PUSH2 0x2BB1 PUSH2 0x30A9 JUMP JUMPDEST EQ JUMPDEST ISZERO PUSH2 0x2BC0 JUMPI POP PUSH1 0x1 PUSH2 0x267A JUMP JUMPDEST POP PUSH1 0x0 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0xFF AND PUSH2 0x2937 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x14185D5CD8589B194E881B9BDD081C185D5CD959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x60C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP2 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT PUSH2 0x2C64 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2C7C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 DUP6 ADD ADD GT ISZERO PUSH2 0xAE3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x40 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x2CA9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2CC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2CCC DUP7 DUP3 DUP8 ADD PUSH2 0x2C52 JUMP JUMPDEST SWAP1 SWAP8 SWAP1 SWAP7 POP PUSH1 0x20 SWAP6 SWAP1 SWAP6 ADD CALLDATALOAD SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2CF2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2D0C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2D23 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D2F DUP6 DUP3 DUP7 ADD PUSH2 0x2C52 JUMP JUMPDEST SWAP1 SWAP7 SWAP1 SWAP6 POP SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D4D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x2D5D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x2D7B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D92 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D5D DUP3 PUSH2 0x2D64 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2DC2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2DDD JUMPI PUSH2 0x2DDD PUSH2 0x2D9B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x2E05 JUMPI PUSH2 0x2E05 PUSH2 0x2D9B JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH2 0x2E1E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 PUSH1 0x20 DUP8 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0xA0 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x2E56 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 CALLDATALOAD SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD PUSH1 0x4 DUP2 LT PUSH2 0x2E6C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2E89 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E95 DUP10 DUP4 DUP11 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP5 POP PUSH1 0x60 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2EAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2EB7 DUP10 DUP4 DUP11 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP4 POP PUSH1 0x80 DUP9 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2ECD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2EDA DUP9 DUP3 DUP10 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 SWAP1 SWAP4 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x120 DUP11 DUP13 SUB SLT ISZERO PUSH2 0x2F06 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2F1E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2F2A DUP14 DUP4 DUP15 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP11 POP PUSH1 0x20 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2F40 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2F4C DUP14 DUP4 DUP15 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP10 POP PUSH1 0x40 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2F62 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2F6E DUP14 DUP4 DUP15 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP9 POP PUSH1 0x60 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2F84 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2F90 DUP14 DUP4 DUP15 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP8 POP PUSH1 0x80 DUP13 ADD CALLDATALOAD SWAP7 POP PUSH1 0xA0 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2FAD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2FB9 DUP14 DUP4 DUP15 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP6 POP PUSH1 0xC0 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2FCF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2FDB DUP14 DUP4 DUP15 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP5 POP PUSH1 0xE0 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2FF1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2FFD DUP14 DUP4 DUP15 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP4 POP PUSH2 0x100 DUP13 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x3014 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3021 DUP13 DUP3 DUP14 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 POP SWAP3 SWAP6 SWAP9 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3043 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x305A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3066 DUP5 DUP3 DUP6 ADD PUSH2 0x2DB1 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3081 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x308A DUP4 PUSH2 0x2D64 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x6 DUP2 LT PUSH2 0x309E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0x30CF JUMPI PUSH2 0x30CF PUSH2 0x30A9 JUMP JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x30EE JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x30D6 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x310F DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x30D3 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x312E DUP3 DUP3 MLOAD PUSH2 0x30BF JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0xC0 PUSH1 0x20 DUP6 ADD MSTORE PUSH2 0x3149 PUSH1 0xC0 DUP6 ADD DUP3 PUSH2 0x30F7 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x3162 DUP3 DUP3 PUSH2 0x30F7 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x80 DUP7 ADD MSTORE PUSH2 0x3186 DUP3 DUP3 PUSH2 0x30F7 JUMP JUMPDEST PUSH1 0xA0 SWAP5 DUP6 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP6 SWAP1 SWAP5 ADD SWAP5 SWAP1 SWAP5 MSTORE POP SWAP1 SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 ADD DUP2 DUP5 MSTORE DUP1 DUP6 MLOAD DUP1 DUP4 MSTORE PUSH1 0x40 DUP7 ADD SWAP2 POP PUSH1 0x40 DUP2 PUSH1 0x5 SHL DUP8 ADD ADD SWAP3 POP DUP4 DUP8 ADD PUSH1 0x0 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x31FA JUMPI PUSH1 0x3F NOT DUP9 DUP7 SUB ADD DUP5 MSTORE PUSH2 0x31E8 DUP6 DUP4 MLOAD PUSH2 0x3123 JUMP JUMPDEST SWAP5 POP SWAP3 DUP6 ADD SWAP3 SWAP1 DUP6 ADD SWAP1 PUSH1 0x1 ADD PUSH2 0x31CC JUMP JUMPDEST POP SWAP3 SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST DUP8 DUP2 MSTORE PUSH1 0xE0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x3220 PUSH1 0xE0 DUP4 ADD DUP10 PUSH2 0x30F7 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP8 SWAP1 SWAP8 MSTORE POP PUSH1 0x60 DUP2 ADD SWAP5 SWAP1 SWAP5 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND PUSH1 0x80 DUP5 ADD MSTORE ISZERO ISZERO PUSH1 0xA0 DUP4 ADD MSTORE ISZERO ISZERO PUSH1 0xC0 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2D5D PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x3123 JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH1 0x6 DUP4 LT PUSH2 0x327E JUMPI PUSH2 0x327E PUSH2 0x30A9 JUMP JUMPDEST SWAP2 SWAP1 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x3297 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP JUMPDEST PUSH2 0x32B0 DUP2 DUP9 PUSH2 0x30BF JUMP JUMPDEST PUSH1 0xC0 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x32C6 PUSH1 0xC0 DUP4 ADD DUP9 PUSH2 0x30F7 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x32D8 DUP2 DUP9 PUSH2 0x30F7 JUMP JUMPDEST SWAP1 POP DUP6 PUSH1 0x60 DUP5 ADD MSTORE DUP3 DUP2 SUB PUSH1 0x80 DUP5 ADD MSTORE PUSH2 0x32F2 DUP2 DUP7 PUSH2 0x30F7 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0xA0 DUP4 ADD MSTORE SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE DUP2 MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0xE0 PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x3335 PUSH2 0x100 DUP5 ADD DUP3 PUSH2 0x30F7 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x60 DUP5 ADD MSTORE PUSH1 0x60 DUP5 ADD MLOAD PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB PUSH1 0x80 DUP6 ADD MLOAD AND PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xA0 DUP5 ADD MLOAD ISZERO ISZERO PUSH1 0xC0 DUP5 ADD MSTORE PUSH1 0xC0 DUP5 ADD MLOAD ISZERO ISZERO PUSH1 0xE0 DUP5 ADD MSTORE DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xE SWAP1 DUP3 ADD MSTORE PUSH14 0x139BDD08185D5D1A1BDC9A5E9959 PUSH1 0x92 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x10 SWAP1 DUP3 ADD MSTORE PUSH16 0x4D616E64692F41646D696E206F6E6C79 PUSH1 0x80 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP2 DUP4 DUP3 CALLDATACOPY PUSH1 0x0 SWAP2 ADD SWAP1 DUP2 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0x267A JUMPI PUSH2 0x267A PUSH2 0x33E1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xA SWAP1 DUP3 ADD MSTORE PUSH10 0x27B7363C9037BBB732B9 PUSH1 0xB1 SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0xF SWAP1 DUP3 ADD MSTORE PUSH15 0x10985D18DA081B9BDD08199BDD5B99 PUSH1 0x8A SHL PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x3481 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x2041 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x34EB JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x34C8 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x34E7 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x34D4 JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x350A JUMPI PUSH2 0x350A PUSH2 0x2D9B JUMP JUMPDEST PUSH2 0x351E DUP2 PUSH2 0x3518 DUP5 SLOAD PUSH2 0x346D JUMP JUMPDEST DUP5 PUSH2 0x34A1 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x3553 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x353B JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x34E7 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x3582 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x3563 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x35A0 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH2 0x35BA DUP2 DUP6 PUSH2 0x30BF JUMP JUMPDEST PUSH1 0x60 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x35D0 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x30F7 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x35E2 DUP2 DUP6 PUSH2 0x30F7 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH5 0x21B937B81D PUSH1 0xD9 SHL DUP2 MSTORE PUSH1 0x0 DUP6 MLOAD PUSH2 0x360C DUP2 PUSH1 0x5 DUP6 ADD PUSH1 0x20 DUP11 ADD PUSH2 0x30D3 JUMP JUMPDEST PUSH10 0x1D902430B93B32B9BA1D PUSH1 0xB1 SHL PUSH1 0x5 SWAP2 DUP5 ADD SWAP2 DUP3 ADD MSTORE DUP6 MLOAD PUSH2 0x3636 DUP2 PUSH1 0xF DUP5 ADD PUSH1 0x20 DUP11 ADD PUSH2 0x30D3 JUMP JUMPDEST PUSH13 0x1D902330B936B2B920B232391D PUSH1 0x99 SHL PUSH1 0xF SWAP3 SWAP1 SWAP2 ADD SWAP2 DUP3 ADD MSTORE DUP5 MLOAD PUSH2 0x3664 DUP2 PUSH1 0x1C DUP5 ADD PUSH1 0x20 DUP10 ADD PUSH2 0x30D3 JUMP JUMPDEST PUSH7 0x1D9021B2B93A1D PUSH1 0xC9 SHL PUSH1 0x1C SWAP3 SWAP1 SWAP2 ADD SWAP2 DUP3 ADD MSTORE DUP4 MLOAD PUSH2 0x368C DUP2 PUSH1 0x23 DUP5 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x30D3 JUMP JUMPDEST ADD PUSH1 0x23 ADD SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x36AD PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x30F7 JUMP JUMPDEST SWAP1 POP DUP3 PUSH1 0x20 DUP4 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x36CE DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x30D3 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0x267A JUMPI PUSH2 0x267A PUSH2 0x33E1 JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x267A JUMPI PUSH2 0x267A PUSH2 0x33E1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x3711 JUMPI PUSH2 0x3711 PUSH2 0x33E1 JUMP JUMPDEST POP PUSH1 0x0 NOT ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x3736 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 INVALID 0xEF 0x4E PUSH30 0x83F8056607B8E16CC35D26DA52D1E6C2CCDAF24D0D9BAA7268392CA26473 PUSH16 0x6C634300081300330000000000000000 ","sourceMap":"134:14766:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9446:580;;;;;;;;;;-1:-1:-1;9446:580:0;;;;;:::i;:::-;;:::i;:::-;;8720:651;;;;;;;;;;-1:-1:-1;8720:651:0;;;;;:::i;:::-;;:::i;10275:482::-;;;;;;;;;;-1:-1:-1;10275:482:0;;;;;:::i;:::-;;:::i;:::-;;;;1626:25:5;;;1682:2;1667:18;;1660:34;;;;1599:18;10275:482:0;;;;;;;;1329:29;;;;;;;;;;;;;;;;;;;1851:25:5;;;1839:2;1824:18;1329:29:0;1705:177:5;14648:250:0;;;;;;;;;;-1:-1:-1;14648:250:0;;;;;:::i;:::-;;:::i;1212:28::-;;;;;;;;;;-1:-1:-1;1212:28:0;;;;;:::i;:::-;;:::i;1274:49::-;;;;;;;;;;-1:-1:-1;1274:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;6828:1111;;;;;;;;;;-1:-1:-1;6828:1111:0;;;;;:::i;:::-;;:::i;4745:2017::-;;;;;;;;;;-1:-1:-1;4745:2017:0;;;;;:::i;:::-;;:::i;7945:333::-;;;;;;;;;;-1:-1:-1;7945:333:0;;;;;:::i;:::-;;:::i;3305:307::-;;;;;;;;;;-1:-1:-1;3305:307:0;;;;;:::i;:::-;;:::i;465:84:2:-;;;;;;;;;;-1:-1:-1;535:7:2;;;;465:84;;7203:14:5;;7196:22;7178:41;;7166:2;7151:18;465:84:2;7038:187:5;1439:56:0;;;;;;;;;;;;1485:10;1439:56;;12763:298;;;;;;;;;;-1:-1:-1;12763:298:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1247:20::-;;;;;;;;;;-1:-1:-1;1247:20:0;;;;-1:-1:-1;;;;;1247:20:0;;;;;;-1:-1:-1;;;;;9846:32:5;;;9828:51;;9816:2;9801:18;1247:20:0;9682:203:5;1044:48:0;;;;;;;;;;-1:-1:-1;1044:48:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;:::i;13395:424::-;;;;;;;;;;-1:-1:-1;13395:424:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1163:42::-;;;;;;;;;;-1:-1:-1;1163:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;14037:209::-;;;;;;;;;;-1:-1:-1;14037:209:0;;;;;:::i;:::-;;:::i;13932:99::-;;;;;;;;;;-1:-1:-1;14006:11:0;:18;13932:99;;12559:198;;;;;;;;;;-1:-1:-1;12559:198:0;;;;;:::i;:::-;;:::i;1098:59::-;;;;;;;;;;-1:-1:-1;1098:59:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;13067:322::-;;;;;;;;;;-1:-1:-1;13067:322:0;;;;;:::i;:::-;;:::i;10763:1455::-;;;;;;;;;;-1:-1:-1;10763:1455:0;;;;;:::i;:::-;;:::i;8353:361::-;;;:::i;10032:237::-;;;;;;;;;;-1:-1:-1;10032:237:0;;;;;:::i;:::-;;:::i;14305:337::-;;;;;;;;;;-1:-1:-1;14305:337:0;;;;;:::i;:::-;;:::i;12277:276::-;;;;;;;;;;-1:-1:-1;12277:276:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;9446:580::-;2697:10;2712:14;2691:17;;;:5;:17;;;;;;;;:35;;;;;;;;:::i;:::-;;2683:62;;;;-1:-1:-1;;;2683:62:0;;;;;;;:::i;:::-;;;;;;;;;2830:10:::1;2807:14;2824:17:::0;;;:5:::1;:17;::::0;;;;;::::1;;2867:15;2859:4;:23;;;;;;;;:::i;:::-;;:50;;;-1:-1:-1::0;2894:15:0::1;2886:4;:23;;;;;;;;:::i;:::-;;2859:50;2851:79;;;;-1:-1:-1::0;;;2851:79:0::1;;;;;;;:::i;:::-;350:19:2::2;:17;:19::i;:::-;391:21:3::3;:19;:21::i;:::-;9644:27:0::0;9636:65:::4;;;::::0;-1:-1:-1;;;9636:65:0;;14066:2:5;9636:65:0::4;::::0;::::4;14048:21:5::0;14105:2;14085:18;;;14078:30;-1:-1:-1;;;14124:18:5;;;14117:55;14189:18;;9636:65:0::4;13864:349:5::0;9636:65:0::4;9728:1;9719:6;:10;9711:40;;;::::0;-1:-1:-1;;;9711:40:0;;14420:2:5;9711:40:0::4;::::0;::::4;14402:21:5::0;14459:2;14439:18;;;14432:30;-1:-1:-1;;;14478:18:5;;;14471:47;14535:18;;9711:40:0::4;14218:341:5::0;9711:40:0::4;9762:15;9796:9;;9780:27;;;;;;;:::i;:::-;;::::0;;;;;::::4;::::0;;9817:30:::4;::::0;;;:21:::4;:30;::::0;;;;;;9866:61;;::::4;::::0;;;;;9910:15:::4;9866:61:::0;;::::4;::::0;;;9817:120;;::::4;::::0;;::::4;::::0;;;;;;;;;;;::::4;::::0;;::::4;::::0;;::::4;::::0;;;;;;::::4;::::0;;;;9953:66;9780:27;;-1:-1:-1;10008:10:0::4;::::0;9953:66:::4;::::0;9972:9;;;;9953:66:::4;:::i;:::-;;::::0;;;;;::::4;::::0;;1626:25:5;;;9991:15:0::4;1682:2:5::0;1667:18;;1660:34;9953:66:0;::::4;::::0;1599:18:5;9953:66:0::4;;;;;;;9626:400;433:20:3::3;217:1:::0;667:7;:22;619:77;433:20:::3;2797:151:0::1;9446:580:::0;;;:::o;8720:651::-;2697:10;2712:14;2691:17;;;:5;:17;;;;;;;;:35;;;;;;;;:::i;:::-;;2683:62;;;;-1:-1:-1;;;2683:62:0;;;;;;;:::i;:::-;2830:10:::1;2807:14;2824:17:::0;;;:5:::1;:17;::::0;;;;;::::1;;2867:15;2859:4;:23;;;;;;;;:::i;:::-;;:50;;;-1:-1:-1::0;2894:15:0::1;2886:4;:23;;;;;;;;:::i;:::-;;2859:50;2851:79;;;;-1:-1:-1::0;;;2851:79:0::1;;;;;;;:::i;:::-;350:19:2::2;:17;:19::i;:::-;391:21:3::3;:19;:21::i;:::-;8904:1:0::4;8894:7;:11;8886:42;;;::::0;-1:-1:-1;;;8886:42:0;;15320:2:5;8886:42:0::4;::::0;::::4;15302:21:5::0;15359:2;15339:18;;;15332:30;-1:-1:-1;;;15378:18:5;;;15371:48;15436:18;;8886:42:0::4;15118:342:5::0;8886:42:0::4;8972:10;8939:15;8957:26:::0;;;:14:::4;:26;::::0;;;;;9001:18;;::::4;;8993:53;;;::::0;-1:-1:-1;;;8993:53:0;;15667:2:5;8993:53:0::4;::::0;::::4;15649:21:5::0;15706:2;15686:18;;;15679:30;-1:-1:-1;;;15725:18:5;;;15718:52;15787:18;;8993:53:0::4;15465:346:5::0;8993:53:0::4;9116:17;9126:7:::0;9116;:17:::4;:::i;:::-;9102:10;9087:26;::::0;;;:14:::4;:26;::::0;;;;:46;;;;9143:14:::4;:25:::0;;9161:7;;9087:26;9143:25:::4;::::0;9161:7;;9143:25:::4;:::i;:::-;::::0;;;-1:-1:-1;;9223:44:0::4;::::0;9208:9:::4;::::0;9231:10:::4;::::0;9255:7;;9208:9;9223:44;9208:9;9223:44;9255:7;9231:10;9223:44:::4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9207:60;;;9285:4;9277:32;;;::::0;-1:-1:-1;;;9277:32:0;;16493:2:5;9277:32:0::4;::::0;::::4;16475:21:5::0;16532:2;16512:18;;;16505:30;-1:-1:-1;;;16551:18:5;;;16544:45;16606:18;;9277:32:0::4;16291:339:5::0;9277:32:0::4;9325:39;::::0;1851:25:5;;;9344:10:0::4;::::0;9325:39:::4;::::0;1839:2:5;1824:18;9325:39:0::4;;;;;;;8876:495;;433:20:3::3;217:1:::0;667:7;:22;619:77;433:20:::3;2797:151:0::1;8720:651:::0;:::o;10275:482::-;10377:13;10392:17;10425:15;10459:9;;10443:27;;;;;;;:::i;:::-;;;;;;;;;;;10480:39;10522:30;;;:21;:30;;;;;;10570:19;;10443:27;;-1:-1:-1;10522:30:0;10562:57;;;;-1:-1:-1;;;10562:57:0;;16837:2:5;10562:57:0;;;16819:21:5;16876:2;16856:18;;;16849:30;-1:-1:-1;;;16895:18:5;;;16888:51;16956:18;;10562:57:0;16635:345:5;10562:57:0;10677:19;;10630:31;;10664:12;;10677:23;;10699:1;;10677:23;:::i;:::-;10664:37;;;;;;;;:::i;:::-;;;;;;;;;;;10630:71;;10719:6;:12;;;10733:6;:16;;;10711:39;;;;;;;10275:482;;;;;;:::o;14648:250::-;2603:5;;-1:-1:-1;;;;;2603:5:0;2589:10;:19;2581:42;;;;-1:-1:-1;;;2581:42:0;;;;;;;:::i;:::-;391:21:3::1;:19;:21::i;:::-;14755:7:0::2;14751:87;;;14778:8;:6;:8::i;:::-;14751:87;;;14817:10;:8;:10::i;:::-;14853:38;::::0;7203:14:5;;7196:22;7178:41;;14871:10:0::2;::::0;14853:38:::2;::::0;7166:2:5;7151:18;14853:38:0::2;;;;;;;;433:20:3::1;217:1:::0;667:7;:22;619:77;433:20:::1;14648:250:0::0;:::o;1212:28::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1212:28:0;:::o;6828:1111::-;2697:10;2712:14;2691:17;;;:5;:17;;;;;;;;:35;;;;;;;;:::i;:::-;;2683:62;;;;-1:-1:-1;;;2683:62:0;;;;;;;:::i;:::-;350:19:2::1;:17;:19::i;:::-;391:21:3::2;:19;:21::i;:::-;3011::0::3;::::0;;;:11:::3;:21;::::0;;;;:28:::3;;::::0;:21;;-1:-1:-1;;;3011:28:0;::::3;;;3003:56;;;;-1:-1:-1::0;;;3003:56:0::3;;;;;;;:::i;:::-;7112:10:::4;7083:20;7106:17:::0;;;:5:::4;:17;::::0;;;;;;;;7143:21;;;:11:::4;:21:::0;;;;;;:32:::4;::::0;7106:17:::4;::::0;;::::4;::::0;-1:-1:-1;;;7143:32:0;;::::4;;7142:33;7134:63;;;::::0;-1:-1:-1;;;7134:63:0;;18002:2:5;7134:63:0::4;::::0;::::4;17984:21:5::0;18041:2;18021:18;;;18014:30;-1:-1:-1;;;18060:18:5;;;18053:47;18117:18;;7134:63:0::4;17800:341:5::0;7134:63:0::4;7242:1;7221:10;7215:24;:28;7207:62;;;::::0;-1:-1:-1;;;7207:62:0;;18348:2:5;7207:62:0::4;::::0;::::4;18330:21:5::0;18387:2;18367:18;;;18360:30;-1:-1:-1;;;18406:18:5;;;18399:51;18467:18;;7207:62:0::4;18146:345:5::0;7207:62:0::4;7313:1;7293:9;7287:23;:27;7279:64;;;::::0;-1:-1:-1;;;7279:64:0;;18698:2:5;7279:64:0::4;::::0;::::4;18680:21:5::0;18737:2;18717:18;;;18710:30;18776:26;18756:18;;;18749:54;18820:18;;7279:64:0::4;18496:348:5::0;7279:64:0::4;7361:30;7374:8;7384:6;7361:12;:30::i;:::-;7353:67;;;::::0;-1:-1:-1;;;7353:67:0;;19051:2:5;7353:67:0::4;::::0;::::4;19033:21:5::0;19090:2;19070:18;;;19063:30;19129:26;19109:18;;;19102:54;19173:18;;7353:67:0::4;18849:348:5::0;7353:67:0::4;7452:15;7438:10;:29;;;;;;;;:::i;:::-;;:63;;;;7471:30;7482:6;7490:10;7471;:30::i;:::-;7430:105;;;::::0;-1:-1:-1;;;7430:105:0;;19404:2:5;7430:105:0::4;::::0;::::4;19386:21:5::0;19443:2;19423:18;;;19416:30;19482:31;19462:18;;;19455:59;19531:18;;7430:105:0::4;19202:353:5::0;7430:105:0::4;7546:12;:22;7559:8;7546:22;;;;;;;;;;;7587:254;;;;;;;;7630:6;7587:254;;;;;;;;:::i;:::-;::::0;;::::4;::::0;;::::4;::::0;;;;;;;;;7741:15:::4;7587:254:::0;;;;;;;;;;7816:10:::4;7587:254:::0;;;;;;;;7546:305;;::::4;::::0;;::::4;::::0;;-1:-1:-1;7546:305:0;;;;;;;;;::::4;::::0;;::::4;;::::0;;;;;;;;;;-1:-1:-1;;7546:305:0::4;::::0;;::::4;::::0;::::4;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;7546:305:0::4;::::0;::::4;::::0;::::4;::::0;::::4;::::0;::::4;::::0;;::::4;:::i;:::-;-1:-1:-1::0;7546:305:0::4;::::0;::::4;::::0;::::4;::::0;::::4;::::0;::::4;::::0;;::::4;:::i;:::-;-1:-1:-1::0;7546:305:0::4;::::0;::::4;::::0;::::4;::::0;::::4;::::0;::::4;::::0;::::4;::::0;::::4;::::0;::::4;::::0;::::4;::::0;;::::4;:::i;:::-;-1:-1:-1::0;7546:305:0::4;::::0;;;::::4;::::0;::::4;::::0;;::::4;::::0;;-1:-1:-1;;;;;;7546:305:0::4;-1:-1:-1::0;;;;;7546:305:0;;::::4;::::0;;;::::4;::::0;;7867:65:::4;::::0;7921:10:::4;::::0;7880:8;;7867:65:::4;::::0;::::4;::::0;7890:6;;7898:10;;7910:9;;7867:65:::4;:::i;:::-;;;;;;;;7073:866;422:1:3::3;433:20:::2;217:1:::0;667:7;:22;619:77;433:20:::2;6828:1111:0::0;;;;;:::o;4745:2017::-;2697:10;2712:14;2691:17;;;:5;:17;;;;;;;;:35;;;;;;;;:::i;:::-;;2683:62;;;;-1:-1:-1;;;2683:62:0;;;;;;;:::i;:::-;350:19:2::1;:17;:19::i;:::-;391:21:3::2;:19;:21::i;:::-;3777:26:0::0;;;;;;5140:17:::3;::::0;5202:22:::3;::::0;;;:11:::3;:22;::::0;;;;:29:::3;;::::0;:22;;-1:-1:-1;;;;5202:29:0;::::3;;;5201:30;5193:63;;;::::0;-1:-1:-1;;;5193:63:0;;22831:2:5;5193:63:0::3;::::0;::::3;22813:21:5::0;22870:2;22850:18;;;22843:30;-1:-1:-1;;;22889:18:5;;;22882:50;22949:18;;5193:63:0::3;22629:344:5::0;5193:63:0::3;5299:1;5280:8;5274:22;:26;5266:63;;;::::0;-1:-1:-1;;;5266:63:0;;23180:2:5;5266:63:0::3;::::0;::::3;23162:21:5::0;23219:2;23199:18;;;23192:30;23258:26;23238:18;;;23231:54;23302:18;;5266:63:0::3;22978:348:5::0;5266:63:0::3;5375:1;5353:11;5347:25;:29;5339:69;;;::::0;-1:-1:-1;;;5339:69:0;;23533:2:5;5339:69:0::3;::::0;::::3;23515:21:5::0;23572:2;23552:18;;;23545:30;23611:29;23591:18;;;23584:57;23658:18;;5339:69:0::3;23331:351:5::0;5339:69:0::3;5457:1;5432:14;5426:28;:32;5418:75;;;::::0;-1:-1:-1;;;5418:75:0;;23889:2:5;5418:75:0::3;::::0;::::3;23871:21:5::0;23928:2;23908:18;;;23901:30;23967:32;23947:18;;;23940:60;24017:18;;5418:75:0::3;23687:354:5::0;5418:75:0::3;5537:1;5517:9;5511:23;:27;5503:65;;;::::0;-1:-1:-1;;;5503:65:0;;14066:2:5;5503:65:0::3;::::0;::::3;14048:21:5::0;14105:2;14085:18;;;14078:30;-1:-1:-1;;;14124:18:5;;;14117:55;14189:18;;5503:65:0::3;13864:349:5::0;5503:65:0::3;5615:1;5592:12;5586:26;:30;5578:71;;;::::0;-1:-1:-1;;;5578:71:0;;24248:2:5;5578:71:0::3;::::0;::::3;24230:21:5::0;24287:2;24267:18;;;24260:30;24326;24306:18;;;24299:58;24374:18;;5578:71:0::3;24046:352:5::0;5578:71:0::3;5691:1;5673:7;5667:21;:25;5659:60;;;::::0;-1:-1:-1;;;5659:60:0;;24605:2:5;5659:60:0::3;::::0;::::3;24587:21:5::0;24644:2;24624:18;;;24617:30;-1:-1:-1;;;24663:18:5;;;24656:52;24725:18;;5659:60:0::3;24403:346:5::0;5659:60:0::3;5749:1;5737:9;:13;5729:57;;;::::0;-1:-1:-1;;;5729:57:0;;24956:2:5;5729:57:0::3;::::0;::::3;24938:21:5::0;24995:2;24975:18;;;24968:30;25034:33;25014:18;;;25007:61;25085:18;;5729:57:0::3;24754:355:5::0;5729:57:0::3;5962:246;::::0;;::::3;::::0;::::3;::::0;;;;;::::3;::::0;;::::3;::::0;;;;;;;;;6092:15:::3;5962:246:::0;;;;6130:10:::3;5962:246:::0;;;;6162:4:::3;5962:246:::0;;;;;;5890:21:::3;5962:246:::0;;;;;;5937:22;;;:11:::3;:22:::0;;;;;;;:271;;;;;;5914:12;;5937:271;::::3;::::0;::::3;::::0;;::::3;:::i;:::-;-1:-1:-1::0;5937:271:0::3;::::0;;::::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;;::::3;::::0;;;;::::3;::::0;::::3;::::0;::::3;::::0;;::::3;::::0;;::::3;::::0;::::3;::::0;::::3;::::0;;::::3;::::0;::::3;;-1:-1:-1::0;;;5937:271:0::3;-1:-1:-1::0;;;;5937:271:0;::::3;;-1:-1:-1::0;;;5937:271:0::3;-1:-1:-1::0;;;;;;5937:271:0;;;-1:-1:-1;;;;;5937:271:0;;::::3;::::0;;;;;;;::::3;;::::0;;;::::3;::::0;;;-1:-1:-1;6219:23:0;;;::::3;::::0;;;;;;;6261:375;;;;::::3;::::0;;;6219:23;6261:375;;;::::3;;;;6345:11;6261:375;;;;6384:7;6261:375;;;;6420:15;6261:375;;;;6483:9;6508:12;6539:14;6566:15;6460:122;;;;;;;;;;;:::i;:::-;;::::0;;-1:-1:-1;;6460:122:0;;::::3;::::0;;;;;;6261:375;;6611:10:::3;6460:122;6261:375:::0;;::::3;::::0;6219:427;;::::3;::::0;;::::3;::::0;;-1:-1:-1;6219:427:0;;;;;;;;;::::3;::::0;;::::3;;::::0;;;;;;;;;;-1:-1:-1;;6219:427:0::3;::::0;;::::3;::::0;::::3;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;6219:427:0::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;;::::3;:::i;:::-;-1:-1:-1::0;6219:427:0::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;;::::3;:::i;:::-;-1:-1:-1::0;6219:427:0::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;::::3;::::0;;::::3;:::i;:::-;-1:-1:-1::0;6219:427:0::3;::::0;;;::::3;::::0;::::3;::::0;;::::3;::::0;;-1:-1:-1;;;;;;6219:427:0::3;-1:-1:-1::0;;;;;6219:427:0;;::::3;::::0;;;::::3;::::0;;6657:27;;-1:-1:-1;6657:27:0;::::3;::::0;;-1:-1:-1;6657:27:0;;;;;::::3;::::0;;;6700:55:::3;::::0;6744:10:::3;::::0;6657:27;;6700:55:::3;::::0;::::3;::::0;6724:7;;6733:9;;6700:55:::3;:::i;:::-;;;;;;;;5130:1632;;433:20:3::2;217:1:::0;667:7;:22;619:77;433:20:::2;4745:2017:0::0;;;;;;;;;:::o;7945:333::-;2603:5;;-1:-1:-1;;;;;2603:5:0;2589:10;:19;2581:42;;;;-1:-1:-1;;;2581:42:0;;;;;;;:::i;:::-;391:21:3::1;:19;:21::i;:::-;3777:26:0::0;;;;;;8060:17:::2;::::0;8120:22:::2;::::0;;;:11:::2;:22;::::0;;;;:29:::2;;::::0;:22;;-1:-1:-1;;;;8120:29:0;::::2;;;8112:57;;;;-1:-1:-1::0;;;8112:57:0::2;;;;;;;:::i;:::-;8180:22;::::0;;;:11:::2;:22;::::0;;;;;;:33:::2;;:40:::0;;-1:-1:-1;;;;8180:40:0::2;-1:-1:-1::0;;;8180:40:0::2;::::0;;8236:35;8260:10:::2;::::0;8236:35:::2;::::0;8250:8;;8236:35:::2;:::i;:::-;;::::0;;;;::::2;::::0;;;::::2;::::0;;;::::2;8050:228;433:20:3::1;217:1:::0;667:7;:22;619:77;3305:307:0;2603:5;;-1:-1:-1;;;;;2603:5:0;2589:10;:19;2581:42;;;;-1:-1:-1;;;2581:42:0;;;;;;;:::i;:::-;391:21:3::1;:19;:21::i;:::-;-1:-1:-1::0;;;;;3432:19:0;::::2;3424:47;;;::::0;-1:-1:-1;;;3424:47:0;;27354:2:5;3424:47:0::2;::::0;::::2;27336:21:5::0;27393:2;27373:18;;;27366:30;-1:-1:-1;;;27412:18:5;;;27405:45;27467:18;;3424:47:0::2;27152:339:5::0;3424:47:0::2;-1:-1:-1::0;;;;;3482:12:0;::::2;;::::0;;;:5:::2;:12;::::0;;;;:20;;3497:5;;3482:12;-1:-1:-1;;3482:20:0::2;::::0;3497:5;3482:20:::2;::::0;::::2;;;;;;:::i;:::-;;;;;;3530:5;-1:-1:-1::0;;;;;3518:25:0::2;;3537:5;3518:25;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;;;;;3558:47:0;::::2;;3590:14;3581:5;:23;;;;;;;;:::i;:::-;3558:47;::::0;3581:23;::::2;;7178:41:5::0;;7166:2;7151:18;3558:47:0::2;;;;;;;433:20:3::1;217:1:::0;667:7;:22;619:77;12763:298:0;3777:26;;;;;;12863;;12905:17;;12965:22;;;;:11;:22;;;;;:29;;;:22;;-1:-1:-1;;;;12965:29:0;;;;12957:57;;;;-1:-1:-1;;;12957:57:0;;;;;;;:::i;:::-;13031:23;;;;:12;:23;;;;;;;;13024:30;;;;;;;;;;;;;;;;;;;13031:23;;13024:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13024:30:0;;;-1:-1:-1;;13024:30:0;;;;;;-1:-1:-1;;;;;13024:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;12763:298;;;:::o;1044:48::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1044:48:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1044:48:0;;;-1:-1:-1;1044:48:0;-1:-1:-1;;;1044:48:0;;;;;-1:-1:-1;;;1044:48:0;;;;:::o;13395:424::-;13495:24;;:::i;:::-;3777:26;;;;;;13535:17;;13595:22;;;;:11;:22;;;;;:29;;;:22;;-1:-1:-1;;;;13595:29:0;;;;13587:57;;;;-1:-1:-1;;;13587:57:0;;;;;;;:::i;:::-;13655:35;13693:23;;;:12;:23;;;;;13734:14;;13726:41;;;;-1:-1:-1;;;13726:41:0;;27698:2:5;13726:41:0;;;27680:21:5;27737:2;27717:18;;;27710:30;-1:-1:-1;;;27756:18:5;;;27749:40;27806:18;;13726:41:0;27496:334:5;13726:41:0;13793:14;;13785:7;;13793:18;;13810:1;;13793:18;:::i;:::-;13785:27;;;;;;;;:::i;:::-;;;;;;;;;13778:34;;;;;;;;;13785:27;;;;;13778:34;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13778:34:0;;;-1:-1:-1;;13778:34:0;;;;;;-1:-1:-1;;;;;13778:34:0;;;;;;;13395:424;-1:-1:-1;;;;13395:424:0:o;14037:209::-;14167:11;:18;14127:7;;14158:27;;14150:53;;;;-1:-1:-1;;;14150:53:0;;28037:2:5;14150:53:0;;;28019:21:5;28076:2;28056:18;;;28049:30;-1:-1:-1;;;28095:18:5;;;28088:43;28148:18;;14150:53:0;27835:337:5;14150:53:0;14220:11;14232:6;14220:19;;;;;;;;:::i;:::-;;;;;;;;;14213:26;;14037:209;;;:::o;12559:198::-;3011:21;;;;:11;:21;;;;;:28;;;12679:26;;3011:21;;-1:-1:-1;;;3011:28:0;;;;3003:56;;;;-1:-1:-1;;;3003:56:0;;;;;;;:::i;:::-;12728:22:::1;::::0;;;:12:::1;:22;::::0;;;;;;;12721:29;;;;;;::::1;::::0;;;;;;;;;;;;12728:22;;12721:29;::::1;;;;;;;;;::::0;;;::::1;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;::::1;::::0;;;;::::1;;;::::0;::::1;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;12721:29:0;;;-1:-1:-1;;12721:29:0::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;12721:29:0::1;;::::0;;::::1;::::0;;;;;;;;::::1;::::0;::::1;;;3069:1;12559:198:::0;;;;:::o;1098:59::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1098:59:0;;-1:-1:-1;1098:59:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1098:59:0;;;;;;;-1:-1:-1;;;;;;;1098:59:0;;:::o;13067:322::-;13187:24;;:::i;:::-;3011:21;;;;:11;:21;;;;;:28;;;:21;;-1:-1:-1;;;3011:28:0;;;;3003:56;;;;-1:-1:-1;;;3003:56:0;;;;;;;:::i;:::-;13227:35:::1;13265:22:::0;;;:12:::1;:22;::::0;;;;13305:14;;13297:41:::1;;;::::0;-1:-1:-1;;;13297:41:0;;27698:2:5;13297:41:0::1;::::0;::::1;27680:21:5::0;27737:2;27717:18;;;27710:30;-1:-1:-1;;;27756:18:5;;;27749:40;27806:18;;13297:41:0::1;27496:334:5::0;10763:1455:0;10881:7;10904:15;10938:9;;10922:27;;;;;;;:::i;:::-;;;;;;;;;;;10959:39;11001:30;;;:21;:30;;;;;;11049:19;;10922:27;;-1:-1:-1;11001:30:0;11041:57;;;;-1:-1:-1;;;11041:57:0;;16837:2:5;11041:57:0;;;16819:21:5;16876:2;16856:18;;;16849:30;-1:-1:-1;;;16895:18:5;;;16888:51;16956:18;;11041:57:0;16635:345:5;11041:57:0;11109:21;11133:19;;:58;;11177:14;11133:58;;;1485:10;11133:58;11109:82;;11225:1;11209:13;:17;11201:44;;;;-1:-1:-1;;;11201:44:0;;28379:2:5;11201:44:0;;;28361:21:5;28418:2;28398:18;;;28391:30;-1:-1:-1;;;28437:18:5;;;28430:44;28491:18;;11201:44:0;28177:338:5;11201:44:0;11274:15;11256;11319:23;11329:13;11274:15;11319:23;:::i;:::-;11476:19;;11299:43;;-1:-1:-1;11353:19:0;;;;11441:7;;11459:645;11497:5;;11459:645;;11523:28;11554:12;11567:5;11571:1;11567;:5;:::i;:::-;11554:19;;;;;;;;:::i;:::-;;;;;;;;;;;11523:50;;11609:10;11592:3;:13;;;:27;11588:74;;11639:8;;;11588:74;11676:20;11715:9;11699:3;:13;;;:25;:53;;11743:9;11699:53;;;11727:3;:13;;;11699:53;11676:76;;11783:12;11770:10;:25;11766:203;;;11815:16;11834:25;11847:12;11834:10;:25;:::i;:::-;11892:9;;11815:44;;-1:-1:-1;11892:20:0;;11815:44;;11892:20;:::i;:::-;11877:35;;;;:::i;:::-;;-1:-1:-1;11930:24:0;11946:8;11930:24;;:::i;:::-;;;11797:172;11766:203;12004:9;11987:3;:13;;;:26;11983:70;;12033:5;;;;11983:70;-1:-1:-1;12080:13:0;;;;-1:-1:-1;11459:645:0;11504:3;;;;:::i;:::-;;;;11459:645;;;;12137:1;12122:12;:16;12114:54;;;;-1:-1:-1;;;12114:54:0;;29166:2:5;12114:54:0;;;29148:21:5;29205:2;29185:18;;;29178:30;29244:27;29224:18;;;29217:55;29289:18;;12114:54:0;28964:349:5;12114:54:0;12185:26;12199:12;12185:11;:26;:::i;:::-;12178:33;10763:1455;-1:-1:-1;;;;;;;;;;;;10763:1455:0:o;8353:361::-;2697:10;2712:14;2691:17;;;:5;:17;;;;;;;;:35;;;;;;;;:::i;:::-;;2683:62;;;;-1:-1:-1;;;2683:62:0;;;;;;;:::i;:::-;2830:10:::1;2807:14;2824:17:::0;;;:5:::1;:17;::::0;;;;;::::1;;2867:15;2859:4;:23;;;;;;;;:::i;:::-;;:50;;;-1:-1:-1::0;2894:15:0::1;2886:4;:23;;;;;;;;:::i;:::-;;2859:50;2851:79;;;;-1:-1:-1::0;;;2851:79:0::1;;;;;;;:::i;:::-;350:19:2::2;:17;:19::i;:::-;391:21:3::3;:19;:21::i;:::-;8539:1:0::4;8527:9;:13;8519:44;;;::::0;-1:-1:-1;;;8519:44:0;;15320:2:5;8519:44:0::4;::::0;::::4;15302:21:5::0;15359:2;15339:18;;;15332:30;-1:-1:-1;;;15378:18:5;;;15371:48;15436:18;;8519:44:0::4;15118:342:5::0;8519:44:0::4;8589:10;8574:26;::::0;;;:14:::4;:26;::::0;;;;:39;;8604:9:::4;::::0;8574:26;:39:::4;::::0;8604:9;;8574:39:::4;:::i;:::-;;;;;;;;8641:9;8623:14;;:27;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;8666:41:0::4;::::0;8697:9:::4;1851:25:5::0;;8685:10:0::4;::::0;8666:41:::4;::::0;1839:2:5;1824:18;8666:41:0::4;1705:177:5::0;10032:237:0;10140:7;10163:15;10197:9;;10181:27;;;;;;;:::i;:::-;;;;;;;;;;;10225:30;;;;:21;:30;;;:37;;-1:-1:-1;;10032:237:0;;;;;:::o;14305:337::-;2603:5;;-1:-1:-1;;;;;2603:5:0;2589:10;:19;2581:42;;;;-1:-1:-1;;;2581:42:0;;;;;;;:::i;:::-;391:21:3::1;:19;:21::i;:::-;-1:-1:-1::0;;;;;14429:23:0;::::2;14421:51;;;::::0;-1:-1:-1;;;14421:51:0;;27354:2:5;14421:51:0::2;::::0;::::2;27336:21:5::0;27393:2;27373:18;;;27366:30;-1:-1:-1;;;27412:18:5;;;27405:45;27467:18;;14421:51:0::2;27152:339:5::0;14421:51:0::2;14502:5;::::0;;-1:-1:-1;;;;;;14517:17:0;::::2;-1:-1:-1::0;;;;;14517:17:0;;::::2;::::0;;::::2;::::0;;;-1:-1:-1;14544:16:0;;;:5:::2;:16;::::0;;;;;:34;;-1:-1:-1;;14544:34:0::2;14563:15;14544:34;::::0;;14594:41;14502:5;;;::::2;::::0;14517:17;;14502:5;;14594:41:::2;::::0;-1:-1:-1;14594:41:0::2;14411:231;433:20:3::1;217:1:::0;667:7;:22;619:77;12277:276:0;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3777:26:0;;;;;;12458:22;;;:11;:22;;;;;;:29;;;-1:-1:-1;;3777:26:0;-1:-1:-1;;;12458:29:0;;;;12450:57;;;;-1:-1:-1;;;12450:57:0;;;;;;;:::i;:::-;12524:11;:22;12536:9;12524:22;;;;;;;;;;;12517:29;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12517:29:0;;;-1:-1:-1;;12517:29:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12517:29:0;;;;;;;-1:-1:-1;;;12517:29:0;;;;;;;;;;-1:-1:-1;;;12517:29:0;;;;;;;;;;;;12277:276;-1:-1:-1;;;12277:276:0:o;555:105:2:-;625:7;;;;624:8;616:37;;;;-1:-1:-1;;;616:37:2;;29742:2:5;616:37:2;;;29724:21:5;29781:2;29761:18;;;29754:30;-1:-1:-1;;;29800:18:5;;;29793:46;29856:18;;616:37:2;29540:340:5;616:37:2;555:105::o;466:147:3:-;260:1;523:7;;:19;515:63;;;;-1:-1:-1;;;515:63:3;;30087:2:5;515:63:3;;;30069:21:5;30126:2;30106:18;;;30099:30;30165:33;30145:18;;;30138:61;30216:18;;515:63:3;29885:355:5;515:63:3;260:1;588:7;:18;466:147::o;777:113:2:-;350:19;:17;:19::i;:::-;846:4:::1;836:14:::0;;-1:-1:-1;;836:14:2::1;::::0;::::1;::::0;;865:18:::1;::::0;872:10:::1;9828:51:5::0;;865:18:2::1;::::0;9816:2:5;9801:18;865::2::1;;;;;;;;777:113::o:0;896:115::-;425:16;:14;:16::i;:::-;954:7:::1;:15:::0;;-1:-1:-1;;954:15:2::1;::::0;;984:20:::1;::::0;993:10:::1;9828:51:5::0;;984:20:2::1;::::0;9816:2:5;9801:18;984:20:2::1;9682:203:5::0;4281:396:0;4385:4;4443:22;;;:12;:22;;;;;4480:14;;:19;;4476:82;;4535:12;4522:9;:25;;;;;;;;:::i;:::-;;4515:32;;;;;4476:82;4589:14;;4568:10;;4581:7;;4589:18;;4606:1;;4589:18;:::i;:::-;4581:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:33;;;;-1:-1:-1;4581:33:0;4653:13;;;;;;;;:::i;:::-;:17;;4669:1;4653:17;:::i;:::-;4639:9;4631:18;;;;;;;;:::i;:::-;:39;;4281:396;-1:-1:-1;;;;;4281:396:0:o;3816:459::-;3914:4;;3938:6;:22;;;;;;;;:::i;:::-;;:51;;;;-1:-1:-1;3973:16:0;3964:5;:25;;;;;;;;:::i;:::-;;3938:51;3934:68;;;-1:-1:-1;3998:4:0;3991:11;;3934:68;4026:11;4016:6;:21;;;;;;;;:::i;:::-;;:49;;;;-1:-1:-1;4050:15:0;4041:5;:24;;;;;;;;:::i;:::-;;4016:49;4012:66;;;-1:-1:-1;4074:4:0;4067:11;;4012:66;4102:15;4092:6;:25;;;;;;;;:::i;:::-;;:59;;;;-1:-1:-1;4130:21:0;4121:5;:30;;;;;;;;:::i;:::-;;4092:59;4088:76;;;-1:-1:-1;4160:4:0;4153:11;;4088:76;4188:14;4178:6;:24;;;;;;;;:::i;:::-;;:55;;;;-1:-1:-1;4215:18:0;4206:5;:27;;;;;;;;:::i;:::-;;4178:55;4174:72;;;-1:-1:-1;4242:4:0;4235:11;;4174:72;-1:-1:-1;4263:5:0;3816:459;;;;:::o;666:105:2:-;732:7;;;;724:40;;;;-1:-1:-1;;;724:40:2;;30447:2:5;724:40:2;;;30429:21:5;30486:2;30466:18;;;30459:30;-1:-1:-1;;;30505:18:5;;;30498:50;30565:18;;724:40:2;30245:344:5;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:348:5:-;66:8;76:6;130:3;123:4;115:6;111:17;107:27;97:55;;148:1;145;138:12;97:55;-1:-1:-1;171:20:5;;214:18;203:30;;200:50;;;246:1;243;236:12;200:50;283:4;275:6;271:17;259:29;;335:3;328:4;319:6;311;307:19;303:30;300:39;297:59;;;352:1;349;342:12;367:479;447:6;455;463;516:2;504:9;495:7;491:23;487:32;484:52;;;532:1;529;522:12;484:52;572:9;559:23;605:18;597:6;594:30;591:50;;;637:1;634;627:12;591:50;676:59;727:7;718:6;707:9;703:22;676:59;:::i;:::-;754:8;;650:85;;-1:-1:-1;836:2:5;821:18;;;;808:32;;367:479;-1:-1:-1;;;;367:479:5:o;851:180::-;910:6;963:2;951:9;942:7;938:23;934:32;931:52;;;979:1;976;969:12;931:52;-1:-1:-1;1002:23:5;;851:180;-1:-1:-1;851:180:5:o;1036:411::-;1107:6;1115;1168:2;1156:9;1147:7;1143:23;1139:32;1136:52;;;1184:1;1181;1174:12;1136:52;1224:9;1211:23;1257:18;1249:6;1246:30;1243:50;;;1289:1;1286;1279:12;1243:50;1328:59;1379:7;1370:6;1359:9;1355:22;1328:59;:::i;:::-;1406:8;;1302:85;;-1:-1:-1;1036:411:5;-1:-1:-1;;;;1036:411:5:o;1887:273::-;1943:6;1996:2;1984:9;1975:7;1971:23;1967:32;1964:52;;;2012:1;2009;2002:12;1964:52;2051:9;2038:23;2104:5;2097:13;2090:21;2083:5;2080:32;2070:60;;2126:1;2123;2116:12;2070:60;2149:5;1887:273;-1:-1:-1;;;1887:273:5:o;2347:173::-;2415:20;;-1:-1:-1;;;;;2464:31:5;;2454:42;;2444:70;;2510:1;2507;2500:12;2444:70;2347:173;;;:::o;2525:186::-;2584:6;2637:2;2625:9;2616:7;2612:23;2608:32;2605:52;;;2653:1;2650;2643:12;2605:52;2676:29;2695:9;2676:29;:::i;2716:127::-;2777:10;2772:3;2768:20;2765:1;2758:31;2808:4;2805:1;2798:15;2832:4;2829:1;2822:15;2848:719;2891:5;2944:3;2937:4;2929:6;2925:17;2921:27;2911:55;;2962:1;2959;2952:12;2911:55;2998:6;2985:20;3024:18;3061:2;3057;3054:10;3051:36;;;3067:18;;:::i;:::-;3142:2;3136:9;3110:2;3196:13;;-1:-1:-1;;3192:22:5;;;3216:2;3188:31;3184:40;3172:53;;;3240:18;;;3260:22;;;3237:46;3234:72;;;3286:18;;:::i;:::-;3326:10;3322:2;3315:22;3361:2;3353:6;3346:18;3407:3;3400:4;3395:2;3387:6;3383:15;3379:26;3376:35;3373:55;;;3424:1;3421;3414:12;3373:55;3488:2;3481:4;3473:6;3469:17;3462:4;3454:6;3450:17;3437:54;3535:1;3528:4;3523:2;3515:6;3511:15;3507:26;3500:37;3555:6;3546:15;;;;;;2848:719;;;;:::o;3572:965::-;3705:6;3713;3721;3729;3737;3790:3;3778:9;3769:7;3765:23;3761:33;3758:53;;;3807:1;3804;3797:12;3758:53;3843:9;3830:23;3820:33;;3903:2;3892:9;3888:18;3875:32;3936:1;3929:5;3926:12;3916:40;;3952:1;3949;3942:12;3916:40;3975:5;-1:-1:-1;4031:2:5;4016:18;;4003:32;4054:18;4084:14;;;4081:34;;;4111:1;4108;4101:12;4081:34;4134:50;4176:7;4167:6;4156:9;4152:22;4134:50;:::i;:::-;4124:60;;4237:2;4226:9;4222:18;4209:32;4193:48;;4266:2;4256:8;4253:16;4250:36;;;4282:1;4279;4272:12;4250:36;4305:52;4349:7;4338:8;4327:9;4323:24;4305:52;:::i;:::-;4295:62;;4410:3;4399:9;4395:19;4382:33;4366:49;;4440:2;4430:8;4427:16;4424:36;;;4456:1;4453;4446:12;4424:36;;4479:52;4523:7;4512:8;4501:9;4497:24;4479:52;:::i;:::-;4469:62;;;3572:965;;;;;;;;:::o;4542:1817::-;4753:6;4761;4769;4777;4785;4793;4801;4809;4817;4870:3;4858:9;4849:7;4845:23;4841:33;4838:53;;;4887:1;4884;4877:12;4838:53;4927:9;4914:23;4956:18;4997:2;4989:6;4986:14;4983:34;;;5013:1;5010;5003:12;4983:34;5036:50;5078:7;5069:6;5058:9;5054:22;5036:50;:::i;:::-;5026:60;;5139:2;5128:9;5124:18;5111:32;5095:48;;5168:2;5158:8;5155:16;5152:36;;;5184:1;5181;5174:12;5152:36;5207:52;5251:7;5240:8;5229:9;5225:24;5207:52;:::i;:::-;5197:62;;5312:2;5301:9;5297:18;5284:32;5268:48;;5341:2;5331:8;5328:16;5325:36;;;5357:1;5354;5347:12;5325:36;5380:52;5424:7;5413:8;5402:9;5398:24;5380:52;:::i;:::-;5370:62;;5485:2;5474:9;5470:18;5457:32;5441:48;;5514:2;5504:8;5501:16;5498:36;;;5530:1;5527;5520:12;5498:36;5553:52;5597:7;5586:8;5575:9;5571:24;5553:52;:::i;:::-;5543:62;;5652:3;5641:9;5637:19;5624:33;5614:43;;5710:3;5699:9;5695:19;5682:33;5666:49;;5740:2;5730:8;5727:16;5724:36;;;5756:1;5753;5746:12;5724:36;5779:52;5823:7;5812:8;5801:9;5797:24;5779:52;:::i;:::-;5769:62;;5884:3;5873:9;5869:19;5856:33;5840:49;;5914:2;5904:8;5901:16;5898:36;;;5930:1;5927;5920:12;5898:36;5953:52;5997:7;5986:8;5975:9;5971:24;5953:52;:::i;:::-;5943:62;;6058:3;6047:9;6043:19;6030:33;6014:49;;6088:2;6078:8;6075:16;6072:36;;;6104:1;6101;6094:12;6072:36;6127:52;6171:7;6160:8;6149:9;6145:24;6127:52;:::i;:::-;6117:62;;6232:3;6221:9;6217:19;6204:33;6188:49;;6262:2;6252:8;6249:16;6246:36;;;6278:1;6275;6268:12;6246:36;;6301:52;6345:7;6334:8;6323:9;6319:24;6301:52;:::i;:::-;6291:62;;;4542:1817;;;;;;;;;;;:::o;6364:322::-;6433:6;6486:2;6474:9;6465:7;6461:23;6457:32;6454:52;;;6502:1;6499;6492:12;6454:52;6542:9;6529:23;6575:18;6567:6;6564:30;6561:50;;;6607:1;6604;6597:12;6561:50;6630;6672:7;6663:6;6652:9;6648:22;6630:50;:::i;:::-;6620:60;6364:322;-1:-1:-1;;;;6364:322:5:o;6691:342::-;6771:6;6779;6832:2;6820:9;6811:7;6807:23;6803:32;6800:52;;;6848:1;6845;6838:12;6800:52;6871:29;6890:9;6871:29;:::i;:::-;6861:39;;6950:2;6939:9;6935:18;6922:32;6983:1;6976:5;6973:12;6963:40;;6999:1;6996;6989:12;6963:40;7022:5;7012:15;;;6691:342;;;;;:::o;7230:127::-;7291:10;7286:3;7282:20;7279:1;7272:31;7322:4;7319:1;7312:15;7346:4;7343:1;7336:15;7362:136;7439:1;7432:5;7429:12;7419:46;;7445:18;;:::i;:::-;7474;;7362:136::o;7503:250::-;7588:1;7598:113;7612:6;7609:1;7606:13;7598:113;;;7688:11;;;7682:18;7669:11;;;7662:39;7634:2;7627:10;7598:113;;;-1:-1:-1;;7745:1:5;7727:16;;7720:27;7503:250::o;7758:271::-;7800:3;7838:5;7832:12;7865:6;7860:3;7853:19;7881:76;7950:6;7943:4;7938:3;7934:14;7927:4;7920:5;7916:16;7881:76;:::i;:::-;8011:2;7990:15;-1:-1:-1;;7986:29:5;7977:39;;;;8018:4;7973:50;;7758:271;-1:-1:-1;;7758:271:5:o;8034:771::-;8112:40;8148:3;8140:5;8134:12;8112:40;:::i;:::-;8094:3;8198:4;8191:5;8187:16;8181:23;8236:4;8229;8224:3;8220:14;8213:28;8262:47;8303:4;8298:3;8294:14;8280:12;8262:47;:::i;:::-;8250:59;;8357:4;8350:5;8346:16;8340:23;8405:3;8399:4;8395:14;8388:4;8383:3;8379:14;8372:38;8433:39;8467:4;8451:14;8433:39;:::i;:::-;8419:53;;;8521:4;8514:5;8510:16;8504:23;8497:4;8492:3;8488:14;8481:47;8576:4;8569:5;8565:16;8559:23;8626:3;8618:6;8614:16;8607:4;8602:3;8598:14;8591:40;8654:41;8688:6;8672:14;8654:41;:::i;:::-;8764:3;8737:16;;;8731:23;-1:-1:-1;;;;;8727:49:5;8711:14;;;;8704:73;;;;-1:-1:-1;8640:55:5;;8034:771;-1:-1:-1;;8034:771:5:o;8810:867::-;9018:4;9047:2;9087;9076:9;9072:18;9117:2;9106:9;9099:21;9140:6;9175;9169:13;9206:6;9198;9191:22;9244:2;9233:9;9229:18;9222:25;;9306:2;9296:6;9293:1;9289:14;9278:9;9274:30;9270:39;9256:53;;9344:2;9336:6;9332:15;9365:1;9375:273;9389:6;9386:1;9383:13;9375:273;;;9482:2;9478:7;9466:9;9458:6;9454:22;9450:36;9445:3;9438:49;9510:58;9561:6;9552;9546:13;9510:58;:::i;:::-;9500:68;-1:-1:-1;9626:12:5;;;;9591:15;;;;9411:1;9404:9;9375:273;;;-1:-1:-1;9665:6:5;;8810:867;-1:-1:-1;;;;;;;8810:867:5:o;10075:697::-;10380:6;10369:9;10362:25;10423:3;10418:2;10407:9;10403:18;10396:31;10343:4;10444:46;10485:3;10474:9;10470:19;10462:6;10444:46;:::i;:::-;10521:2;10506:18;;10499:34;;;;-1:-1:-1;10564:2:5;10549:18;;10542:34;;;;-1:-1:-1;;;;;10613:32:5;;;;10607:3;10592:19;;10585:61;10690:14;10683:22;10633:3;10662:19;;10655:51;10750:14;10743:22;10737:3;10722:19;;;10715:51;10436:54;10075:697;-1:-1:-1;;10075:697:5:o;10777:284::-;10972:2;10961:9;10954:21;10935:4;10992:63;11051:2;11040:9;11036:18;11028:6;10992:63;:::i;11066:243::-;11210:2;11195:18;;11243:1;11232:13;;11222:47;;11249:18;;:::i;:::-;11278:25;;;11066:243;:::o;11314:248::-;11382:6;11390;11443:2;11431:9;11422:7;11418:23;11414:32;11411:52;;;11459:1;11456;11449:12;11411:52;-1:-1:-1;;11482:23:5;;;11552:2;11537:18;;;11524:32;;-1:-1:-1;11314:248:5:o;11567:810::-;11884:40;11914:9;11906:6;11884:40;:::i;:::-;11960:3;11955:2;11944:9;11940:18;11933:31;11865:4;11987:46;12028:3;12017:9;12013:19;12005:6;11987:46;:::i;:::-;12081:9;12073:6;12069:22;12064:2;12053:9;12049:18;12042:50;12115:33;12141:6;12133;12115:33;:::i;:::-;12101:47;;12184:6;12179:2;12168:9;12164:18;12157:34;12240:9;12232:6;12228:22;12222:3;12211:9;12207:19;12200:51;12268:33;12294:6;12286;12268:33;:::i;:::-;12260:41;;;12367:1;12363;12358:3;12354:11;12350:19;12342:6;12338:32;12332:3;12321:9;12317:19;12310:61;11567:810;;;;;;;;;:::o;12382:789::-;12561:2;12550:9;12543:21;12606:6;12600:13;12595:2;12584:9;12580:18;12573:41;12524:4;12661:2;12653:6;12649:15;12643:22;12701:4;12696:2;12685:9;12681:18;12674:32;12729:52;12776:3;12765:9;12761:19;12747:12;12729:52;:::i;:::-;12715:66;;12835:2;12827:6;12823:15;12817:22;12812:2;12801:9;12797:18;12790:50;12895:2;12887:6;12883:15;12877:22;12871:3;12860:9;12856:19;12849:51;12983:1;12979;12974:3;12970:11;12966:19;12959:3;12951:6;12947:16;12941:23;12937:49;12931:3;12920:9;12916:19;12909:78;13056:3;13048:6;13044:16;13038:23;13031:31;13024:39;13018:3;13007:9;13003:19;12996:68;13134:3;13126:6;13122:16;13116:23;13109:31;13102:39;13095:4;13084:9;13080:20;13073:69;13159:6;13151:14;;;12382:789;;;;:::o;13176:338::-;13378:2;13360:21;;;13417:2;13397:18;;;13390:30;-1:-1:-1;;;13451:2:5;13436:18;;13429:44;13505:2;13490:18;;13176:338::o;13519:340::-;13721:2;13703:21;;;13760:2;13740:18;;;13733:30;-1:-1:-1;;;13794:2:5;13779:18;;13772:46;13850:2;13835:18;;13519:340::o;14564:271::-;14747:6;14739;14734:3;14721:33;14703:3;14773:16;;14798:13;;;14773:16;14564:271;-1:-1:-1;14564:271:5:o;15816:127::-;15877:10;15872:3;15868:20;15865:1;15858:31;15908:4;15905:1;15898:15;15932:4;15929:1;15922:15;15948:128;16015:9;;;16036:11;;;16033:37;;;16050:18;;:::i;16985:127::-;17046:10;17041:3;17037:20;17034:1;17027:31;17077:4;17074:1;17067:15;17101:4;17098:1;17091:15;17117:334;17319:2;17301:21;;;17358:2;17338:18;;;17331:30;-1:-1:-1;;;17392:2:5;17377:18;;17370:40;17442:2;17427:18;;17117:334::o;17456:339::-;17658:2;17640:21;;;17697:2;17677:18;;;17670:30;-1:-1:-1;;;17731:2:5;17716:18;;17709:45;17786:2;17771:18;;17456:339::o;19560:380::-;19639:1;19635:12;;;;19682;;;19703:61;;19757:4;19749:6;19745:17;19735:27;;19703:61;19810:2;19802:6;19799:14;19779:18;19776:38;19773:161;;19856:10;19851:3;19847:20;19844:1;19837:31;19891:4;19888:1;19881:15;19919:4;19916:1;19909:15;20071:545;20173:2;20168:3;20165:11;20162:448;;;20209:1;20234:5;20230:2;20223:17;20279:4;20275:2;20265:19;20349:2;20337:10;20333:19;20330:1;20326:27;20320:4;20316:38;20385:4;20373:10;20370:20;20367:47;;;-1:-1:-1;20408:4:5;20367:47;20463:2;20458:3;20454:12;20451:1;20447:20;20441:4;20437:31;20427:41;;20518:82;20536:2;20529:5;20526:13;20518:82;;;20581:17;;;20562:1;20551:13;20518:82;;;20522:3;;;20162:448;20071:545;;;:::o;20792:1352::-;20918:3;20912:10;20945:18;20937:6;20934:30;20931:56;;;20967:18;;:::i;:::-;20996:97;21086:6;21046:38;21078:4;21072:11;21046:38;:::i;:::-;21040:4;20996:97;:::i;:::-;21148:4;;21212:2;21201:14;;21229:1;21224:663;;;;21931:1;21948:6;21945:89;;;-1:-1:-1;22000:19:5;;;21994:26;21945:89;-1:-1:-1;;20749:1:5;20745:11;;;20741:24;20737:29;20727:40;20773:1;20769:11;;;20724:57;22047:81;;21194:944;;21224:663;20018:1;20011:14;;;20055:4;20042:18;;-1:-1:-1;;21260:20:5;;;21378:236;21392:7;21389:1;21386:14;21378:236;;;21481:19;;;21475:26;21460:42;;21573:27;;;;21541:1;21529:14;;;;21408:19;;21378:236;;;21382:3;21642:6;21633:7;21630:19;21627:201;;;21703:19;;;21697:26;-1:-1:-1;;21786:1:5;21782:14;;;21798:3;21778:24;21774:37;21770:42;21755:58;21740:74;;21627:201;-1:-1:-1;;;;;21874:1:5;21858:14;;;21854:22;21841:36;;-1:-1:-1;20792:1352:5:o;22149:475::-;22362:40;22392:9;22384:6;22362:40;:::i;:::-;22438:2;22433;22422:9;22418:18;22411:30;22343:4;22464:45;22505:2;22494:9;22490:18;22482:6;22464:45;:::i;:::-;22557:9;22549:6;22545:22;22540:2;22529:9;22525:18;22518:50;22585:33;22611:6;22603;22585:33;:::i;:::-;22577:41;22149:475;-1:-1:-1;;;;;;22149:475:5:o;25114:1443::-;-1:-1:-1;;;25776:3:5;25769:20;25751:3;25818:6;25812:13;25834:74;25901:6;25897:1;25892:3;25888:11;25881:4;25873:6;25869:17;25834:74;:::i;:::-;-1:-1:-1;;;25967:1:5;25927:16;;;25959:10;;;25952:32;26009:13;;26031:76;26009:13;26093:2;26085:11;;26078:4;26066:17;;26031:76;:::i;:::-;-1:-1:-1;;;26167:2:5;26126:17;;;;26159:11;;;26152:36;26213:13;;26235:76;26213:13;26297:2;26289:11;;26282:4;26270:17;;26235:76;:::i;:::-;-1:-1:-1;;;26371:2:5;26330:17;;;;26363:11;;;26356:30;26411:13;;26433:76;26411:13;26495:2;26487:11;;26480:4;26468:17;;26433:76;:::i;:::-;26529:17;26548:2;26525:26;;25114:1443;-1:-1:-1;;;;;;25114:1443:5:o;26562:291::-;26739:2;26728:9;26721:21;26702:4;26759:45;26800:2;26789:9;26785:18;26777:6;26759:45;:::i;:::-;26751:53;;26840:6;26835:2;26824:9;26820:18;26813:34;26562:291;;;;;:::o;26858:289::-;26989:3;27027:6;27021:13;27043:66;27102:6;27097:3;27090:4;27082:6;27078:17;27043:66;:::i;:::-;27125:16;;;;;26858:289;-1:-1:-1;;26858:289:5:o;28520:168::-;28593:9;;;28624;;28641:15;;;28635:22;;28621:37;28611:71;;28662:18;;:::i;28693:125::-;28758:9;;;28779:10;;;28776:36;;;28792:18;;:::i;28823:136::-;28862:3;28890:5;28880:39;;28899:18;;:::i;:::-;-1:-1:-1;;;28935:18:5;;28823:136::o;29318:217::-;29358:1;29384;29374:132;;29428:10;29423:3;29419:20;29416:1;29409:31;29463:4;29460:1;29453:15;29491:4;29488:1;29481:15;29374:132;-1:-1:-1;29520:9:5;;29318:217::o"},"methodIdentifiers":{"DEFAULT_TWAP_WINDOW()":"5fcb2120","allBatchIds(uint256)":"290b17ec","batchUpdates(bytes32,uint256)":"aa68b48e","createBatch(string,string,string,string,uint256,string,string,string,string)":"3d41eda1","cropBatches(bytes32)":"906ddff1","depositLiquidity()":"ca593c59","getBatch(string)":"f9ca4274","getBatchCount()":"a8fabfa5","getBatchIdByIndex(uint256)":"a0b6041d","getBatchUpdates(bytes32)":"a9437275","getBatchUpdatesById(string)":"716da295","getLatestSpotPrice(string)":"11459ad2","getLatestUpdate(bytes32)":"ab005011","getLatestUpdateById(string)":"95e46802","getPriceObservationCount(string)":"e3bd2867","getTotalBatches()":"e561dddc","getTwapPrice(string,uint256)":"b0a62957","mandiLiquidity(address)":"32fc2162","owner()":"8da5cb5b","paused()":"5c975abb","recallBatch(string)":"52969187","roles(address)":"99374642","setPaused(bool)":"16c38b3c","setRole(address,uint8)":"571c3e60","submitSpotPrice(string,uint256)":"08ec1ee8","totalLiquidity()":"15770f92","transferOwnership(address)":"f2fde38b","updateBatch(bytes32,uint8,string,string,string)":"36214a1c","withdrawLiquidity(uint256)":"0a861f2a"}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"actor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"authorized\",\"type\":\"bool\"}],\"name\":\"ActorAuthorized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"batchId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"ipfsCID\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"}],\"name\":\"BatchCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"batchId\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"triggeredBy\",\"type\":\"address\"}],\"name\":\"BatchRecalled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"batchId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"enum CropChain.Stage\",\"name\":\"stage\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"actorName\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"location\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"updatedBy\",\"type\":\"address\"}],\"name\":\"BatchUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"LiquidityDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"LiquidityWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"by\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"paused\",\"type\":\"bool\"}],\"name\":\"PauseStateUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"actor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum CropChain.ActorRole\",\"name\":\"role\",\"type\":\"uint8\"}],\"name\":\"RoleUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"cropType\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"updatedBy\",\"type\":\"address\"}],\"name\":\"SpotPriceSubmitted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_TWAP_WINDOW\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"allBatchIds\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"batchUpdates\",\"outputs\":[{\"internalType\":\"enum CropChain.Stage\",\"name\":\"stage\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"actorName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"location\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"updatedBy\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_batchId\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_farmerName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_farmerAddress\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_cropType\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_quantity\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_harvestDate\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_origin\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_certifications\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_description\",\"type\":\"string\"}],\"name\":\"createBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"cropBatches\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"batchId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"ipfsCID\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAt\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isRecalled\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLiquidity\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_batchId\",\"type\":\"string\"}],\"name\":\"getBatch\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"batchId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"ipfsCID\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"quantity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"createdAt\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isRecalled\",\"type\":\"bool\"}],\"internalType\":\"struct CropChain.CropBatch\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBatchCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getBatchIdByIndex\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_batchId\",\"type\":\"bytes32\"}],\"name\":\"getBatchUpdates\",\"outputs\":[{\"components\":[{\"internalType\":\"enum CropChain.Stage\",\"name\":\"stage\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"actorName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"location\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"updatedBy\",\"type\":\"address\"}],\"internalType\":\"struct CropChain.SupplyChainUpdate[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_batchId\",\"type\":\"string\"}],\"name\":\"getBatchUpdatesById\",\"outputs\":[{\"components\":[{\"internalType\":\"enum CropChain.Stage\",\"name\":\"stage\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"actorName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"location\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"updatedBy\",\"type\":\"address\"}],\"internalType\":\"struct CropChain.SupplyChainUpdate[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_cropType\",\"type\":\"string\"}],\"name\":\"getLatestSpotPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_batchId\",\"type\":\"bytes32\"}],\"name\":\"getLatestUpdate\",\"outputs\":[{\"components\":[{\"internalType\":\"enum CropChain.Stage\",\"name\":\"stage\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"actorName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"location\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"updatedBy\",\"type\":\"address\"}],\"internalType\":\"struct CropChain.SupplyChainUpdate\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_batchId\",\"type\":\"string\"}],\"name\":\"getLatestUpdateById\",\"outputs\":[{\"components\":[{\"internalType\":\"enum CropChain.Stage\",\"name\":\"stage\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"actorName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"location\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"updatedBy\",\"type\":\"address\"}],\"internalType\":\"struct CropChain.SupplyChainUpdate\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_cropType\",\"type\":\"string\"}],\"name\":\"getPriceObservationCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalBatches\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_cropType\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_windowSeconds\",\"type\":\"uint256\"}],\"name\":\"getTwapPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"mandiLiquidity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_batchId\",\"type\":\"string\"}],\"name\":\"recallBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"roles\",\"outputs\":[{\"internalType\":\"enum CropChain.ActorRole\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_paused\",\"type\":\"bool\"}],\"name\":\"setPaused\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"enum CropChain.ActorRole\",\"name\":\"_role\",\"type\":\"uint8\"}],\"name\":\"setRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_cropType\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"}],\"name\":\"submitSpotPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalLiquidity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_batchId\",\"type\":\"bytes32\"},{\"internalType\":\"enum CropChain.Stage\",\"name\":\"_stage\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"_actorName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_location\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_notes\",\"type\":\"string\"}],\"name\":\"updateBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"withdrawLiquidity\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/CropChain.sol\":\"CropChain\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/CropChain.sol\":{\"keccak256\":\"0xe68886e23a8539243696fac1617a0031c186068f9d79ce9b14d0239cb720e17d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d2a031f4056bf0c35395bd3cf86ee80a5105a4bff1c9211f9dc53c40270f75b\",\"dweb:/ipfs/QmY3PZUyjEjtQVjWAohr7HhghngyKCqVnTFbByqp4bn9Mo\"]},\"contracts/security/Pausable.sol\":{\"keccak256\":\"0x6f127c35a39ec7f792c5bc0003724236a29d153c009c5796bc1631e03e9245bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://57738adcca76c66a7f7f1711e2ee32656dea1807dabdff69cae628e627615009\",\"dweb:/ipfs/QmeFM5KcxF45W3Zn14ddwLydPfxz74RQka2mqMS6MqA7j3\"]},\"contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xc0a4537b7616bf43d8ee0fcba1e97c186141df0cd74b6590c949ec7727ad2daf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a00aaddfa05ec4b22b9aa403c1cdf66442356f3fb752f7dc510584c61417dd7\",\"dweb:/ipfs/QmeyB5c3oHPZnzbRub88UpyBMwTn42XrPmZM8HuWPR3RZP\"]}},\"version\":1}"}},"contracts/Verifier.sol":{"Groth16Verifier":{"abi":[{"inputs":[{"internalType":"uint256[2]","name":"_pA","type":"uint256[2]"},{"internalType":"uint256[2][2]","name":"_pB","type":"uint256[2][2]"},{"internalType":"uint256[2]","name":"_pC","type":"uint256[2]"},{"internalType":"uint256[]","name":"_pubSignals","type":"uint256[]"}],"name":"verifyProof","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b506104b0806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c32e370e14610030575b600080fd5b61004361003e3660046103ca565b610057565b604051901515815260200160405180910390f35b6000610390565b600060808501600086017f0ff020a416d6fb4c3cf3226387de0de4982896a8dc9035ded4f5e1da8620236a81527f2fc9671616ea7962611309ede70e3ca790b1b688026778205456ed7c3a8665f9602082015250823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08201527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08201527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008201527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208201527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408201527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160820152600086015161018082015260206000018601516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f21c515e6dc79e3bff0a086c5a4d5d53fadeadb4c9dbd20985ba0ea5ea245e87c6102808201527f1d3157dc231639513b308024329fcf340c9fae8abdf1e2a0332ef3785143d5d46102a08201527f2cc4be9ea0a0f206719d30d3b55243efe3b0827134a712fcb8b1d28725ca7f3b6102c08201527f1293109f58a8128b3dfd574ef8df70f5c7f664339fc5250a5e996fc00e8fb4376102e08201526020816103008360086107d05a03fa90511695945050505050565b60405161038081016040526103a78186888a61005e565b90508060005260206000f35b80604081018310156103c457600080fd5b92915050565b600080600080600061012086880312156103e357600080fd5b6103ed87876103b3565b945060c086018781111561040057600080fd5b60408701945061041088826103b3565b93505061010086013567ffffffffffffffff8082111561042f57600080fd5b818801915088601f83011261044357600080fd5b81358181111561045257600080fd5b8960208260051b850101111561046757600080fd5b969995985093965060200194939250505056fea2646970667358221220322a4004adcd10a570498ab9ea179b5dca8305a2cd1b25a43dff1cf1b6f3e65d64736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4B0 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xC32E370E EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x3E CALLDATASIZE PUSH1 0x4 PUSH2 0x3CA JUMP JUMPDEST PUSH2 0x57 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x390 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP6 ADD PUSH1 0x0 DUP7 ADD PUSH32 0xFF020A416D6FB4C3CF3226387DE0DE4982896A8DC9035DED4F5E1DA8620236A DUP2 MSTORE PUSH32 0x2FC9671616EA7962611309EDE70E3CA790B1B688026778205456ED7C3A8665F9 PUSH1 0x20 DUP3 ADD MSTORE POP DUP3 CALLDATALOAD DUP2 MSTORE PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 SUB MOD PUSH1 0x20 DUP3 ADD MSTORE DUP4 CALLDATALOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x60 DUP5 ADD CALLDATALOAD PUSH1 0xA0 DUP3 ADD MSTORE PUSH32 0x2D4D9AA7E302D9DF41749D5507949D05DBEA33FBB16C643B22F599A2BE6DF2E2 PUSH1 0xC0 DUP3 ADD MSTORE PUSH32 0x14BEDD503C37CEB061D8EC60209FE345CE89830A19230301F076CAFF004D1926 PUSH1 0xE0 DUP3 ADD MSTORE PUSH32 0x967032FCBF776D1AFC985F88877F182D38480A653F2DECAA9794CBC3BF3060C PUSH2 0x100 DUP3 ADD MSTORE PUSH32 0xE187847AD4C798374D0D6732BF501847DD68BC0E071241E0213BC7FC13DB7AB PUSH2 0x120 DUP3 ADD MSTORE PUSH32 0x304CFBD1E08A704A99F5E847D93F8C3CAAFDDEC46B7A0D379DA69A4D112346A7 PUSH2 0x140 DUP3 ADD MSTORE PUSH32 0x1739C1B1A457A8C7313123D24D2F9192F896B7C63EEA05A9D57F06547AD0CEC8 PUSH2 0x160 DUP3 ADD MSTORE PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x180 DUP3 ADD MSTORE PUSH1 0x20 PUSH1 0x0 ADD DUP7 ADD MLOAD PUSH2 0x1A0 DUP3 ADD MSTORE PUSH32 0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2 PUSH2 0x1C0 DUP3 ADD MSTORE PUSH32 0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED PUSH2 0x1E0 DUP3 ADD MSTORE PUSH32 0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B PUSH2 0x200 DUP3 ADD MSTORE PUSH32 0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA PUSH2 0x220 DUP3 ADD MSTORE DUP5 CALLDATALOAD PUSH2 0x240 DUP3 ADD MSTORE PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x260 DUP3 ADD MSTORE PUSH32 0x21C515E6DC79E3BFF0A086C5A4D5D53FADEADB4C9DBD20985BA0EA5EA245E87C PUSH2 0x280 DUP3 ADD MSTORE PUSH32 0x1D3157DC231639513B308024329FCF340C9FAE8ABDF1E2A0332EF3785143D5D4 PUSH2 0x2A0 DUP3 ADD MSTORE PUSH32 0x2CC4BE9EA0A0F206719D30D3B55243EFE3B0827134A712FCB8B1D28725CA7F3B PUSH2 0x2C0 DUP3 ADD MSTORE PUSH32 0x1293109F58A8128B3DFD574EF8DF70F5C7F664339FC5250A5E996FC00E8FB437 PUSH2 0x2E0 DUP3 ADD MSTORE PUSH1 0x20 DUP2 PUSH2 0x300 DUP4 PUSH1 0x8 PUSH2 0x7D0 GAS SUB STATICCALL SWAP1 MLOAD AND SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x380 DUP2 ADD PUSH1 0x40 MSTORE PUSH2 0x3A7 DUP2 DUP7 DUP9 DUP11 PUSH2 0x5E JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP1 PUSH1 0x40 DUP2 ADD DUP4 LT ISZERO PUSH2 0x3C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x120 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x3E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3ED DUP8 DUP8 PUSH2 0x3B3 JUMP JUMPDEST SWAP5 POP PUSH1 0xC0 DUP7 ADD DUP8 DUP2 GT ISZERO PUSH2 0x400 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 DUP8 ADD SWAP5 POP PUSH2 0x410 DUP9 DUP3 PUSH2 0x3B3 JUMP JUMPDEST SWAP4 POP POP PUSH2 0x100 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x42F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP9 ADD SWAP2 POP DUP9 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x443 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x452 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 PUSH1 0x20 DUP3 PUSH1 0x5 SHL DUP6 ADD ADD GT ISZERO PUSH2 0x467 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 POP PUSH1 0x20 ADD SWAP5 SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ORIGIN 0x2A BLOCKHASH DIV 0xAD 0xCD LT 0xA5 PUSH17 0x498AB9EA179B5DCA8305A2CD1B25A43DFF SHR CALL 0xB6 RETURN 0xE6 0x5D PUSH5 0x736F6C6343 STOP ADDMOD SGT STOP CALLER ","sourceMap":"831:5823:1:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@verifyProof_1503":{"entryPoint":87,"id":1503,"parameterSlots":5,"returnSlots":1},"abi_decode_array_uint256_calldata":{"entryPoint":947,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_uint256_$2_calldata_ptrt_array$_t_array$_t_uint256_$2_calldata_ptr_$2_calldata_ptrt_array$_t_uint256_$2_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptr":{"entryPoint":970,"id":null,"parameterSlots":2,"returnSlots":5},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1409:5","statements":[{"nodeType":"YulBlock","src":"6:3:5","statements":[]},{"body":{"nodeType":"YulBlock","src":"86:87:5","statements":[{"nodeType":"YulAssignment","src":"96:18:5","value":{"name":"offset","nodeType":"YulIdentifier","src":"108:6:5"},"variableNames":[{"name":"arrayPos","nodeType":"YulIdentifier","src":"96:8:5"}]},{"body":{"nodeType":"YulBlock","src":"151:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"160:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"163:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"153:6:5"},"nodeType":"YulFunctionCall","src":"153:12:5"},"nodeType":"YulExpressionStatement","src":"153:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"133:6:5"},{"kind":"number","nodeType":"YulLiteral","src":"141:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"129:3:5"},"nodeType":"YulFunctionCall","src":"129:15:5"},{"name":"end","nodeType":"YulIdentifier","src":"146:3:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"126:2:5"},"nodeType":"YulFunctionCall","src":"126:24:5"},"nodeType":"YulIf","src":"123:44:5"}]},"name":"abi_decode_array_uint256_calldata","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"57:6:5","type":""},{"name":"end","nodeType":"YulTypedName","src":"65:3:5","type":""}],"returnVariables":[{"name":"arrayPos","nodeType":"YulTypedName","src":"73:8:5","type":""}],"src":"14:159:5"},{"body":{"nodeType":"YulBlock","src":"434:781:5","statements":[{"body":{"nodeType":"YulBlock","src":"481:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"490:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"493:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"483:6:5"},"nodeType":"YulFunctionCall","src":"483:12:5"},"nodeType":"YulExpressionStatement","src":"483:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"455:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"464:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"451:3:5"},"nodeType":"YulFunctionCall","src":"451:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"476:3:5","type":"","value":"288"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"447:3:5"},"nodeType":"YulFunctionCall","src":"447:33:5"},"nodeType":"YulIf","src":"444:53:5"},{"nodeType":"YulAssignment","src":"506:63:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"550:9:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"561:7:5"}],"functionName":{"name":"abi_decode_array_uint256_calldata","nodeType":"YulIdentifier","src":"516:33:5"},"nodeType":"YulFunctionCall","src":"516:53:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"506:6:5"}]},{"nodeType":"YulVariableDeclaration","src":"578:29:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"592:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"603:3:5","type":"","value":"192"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"588:3:5"},"nodeType":"YulFunctionCall","src":"588:19:5"},"variables":[{"name":"_1","nodeType":"YulTypedName","src":"582:2:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"635:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"644:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"647:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"637:6:5"},"nodeType":"YulFunctionCall","src":"637:12:5"},"nodeType":"YulExpressionStatement","src":"637:12:5"}]},"condition":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"622:2:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"626:7:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"619:2:5"},"nodeType":"YulFunctionCall","src":"619:15:5"},"nodeType":"YulIf","src":"616:35:5"},{"nodeType":"YulAssignment","src":"660:28:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"674:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"685:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"670:3:5"},"nodeType":"YulFunctionCall","src":"670:18:5"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"660:6:5"}]},{"nodeType":"YulAssignment","src":"697:56:5","value":{"arguments":[{"name":"_1","nodeType":"YulIdentifier","src":"741:2:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"745:7:5"}],"functionName":{"name":"abi_decode_array_uint256_calldata","nodeType":"YulIdentifier","src":"707:33:5"},"nodeType":"YulFunctionCall","src":"707:46:5"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"697:6:5"}]},{"nodeType":"YulVariableDeclaration","src":"762:47:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"793:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"804:3:5","type":"","value":"256"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"789:3:5"},"nodeType":"YulFunctionCall","src":"789:19:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"776:12:5"},"nodeType":"YulFunctionCall","src":"776:33:5"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"766:6:5","type":""}]},{"nodeType":"YulVariableDeclaration","src":"818:28:5","value":{"kind":"number","nodeType":"YulLiteral","src":"828:18:5","type":"","value":"0xffffffffffffffff"},"variables":[{"name":"_2","nodeType":"YulTypedName","src":"822:2:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"873:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"882:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"885:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"875:6:5"},"nodeType":"YulFunctionCall","src":"875:12:5"},"nodeType":"YulExpressionStatement","src":"875:12:5"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"861:6:5"},{"name":"_2","nodeType":"YulIdentifier","src":"869:2:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"858:2:5"},"nodeType":"YulFunctionCall","src":"858:14:5"},"nodeType":"YulIf","src":"855:34:5"},{"nodeType":"YulVariableDeclaration","src":"898:32:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"912:9:5"},{"name":"offset","nodeType":"YulIdentifier","src":"923:6:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"908:3:5"},"nodeType":"YulFunctionCall","src":"908:22:5"},"variables":[{"name":"_3","nodeType":"YulTypedName","src":"902:2:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"978:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"987:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"990:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"980:6:5"},"nodeType":"YulFunctionCall","src":"980:12:5"},"nodeType":"YulExpressionStatement","src":"980:12:5"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"957:2:5"},{"kind":"number","nodeType":"YulLiteral","src":"961:4:5","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"953:3:5"},"nodeType":"YulFunctionCall","src":"953:13:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"968:7:5"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"949:3:5"},"nodeType":"YulFunctionCall","src":"949:27:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"942:6:5"},"nodeType":"YulFunctionCall","src":"942:35:5"},"nodeType":"YulIf","src":"939:55:5"},{"nodeType":"YulVariableDeclaration","src":"1003:30:5","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1030:2:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1017:12:5"},"nodeType":"YulFunctionCall","src":"1017:16:5"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1007:6:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"1060:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1069:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1072:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1062:6:5"},"nodeType":"YulFunctionCall","src":"1062:12:5"},"nodeType":"YulExpressionStatement","src":"1062:12:5"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"1048:6:5"},{"name":"_2","nodeType":"YulIdentifier","src":"1056:2:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1045:2:5"},"nodeType":"YulFunctionCall","src":"1045:14:5"},"nodeType":"YulIf","src":"1042:34:5"},{"body":{"nodeType":"YulBlock","src":"1136:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1145:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1148:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1138:6:5"},"nodeType":"YulFunctionCall","src":"1138:12:5"},"nodeType":"YulExpressionStatement","src":"1138:12:5"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1099:2:5"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1107:1:5","type":"","value":"5"},{"name":"length","nodeType":"YulIdentifier","src":"1110:6:5"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1103:3:5"},"nodeType":"YulFunctionCall","src":"1103:14:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1095:3:5"},"nodeType":"YulFunctionCall","src":"1095:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"1120:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1091:3:5"},"nodeType":"YulFunctionCall","src":"1091:34:5"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1127:7:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1088:2:5"},"nodeType":"YulFunctionCall","src":"1088:47:5"},"nodeType":"YulIf","src":"1085:67:5"},{"nodeType":"YulAssignment","src":"1161:23:5","value":{"arguments":[{"name":"_3","nodeType":"YulIdentifier","src":"1175:2:5"},{"kind":"number","nodeType":"YulLiteral","src":"1179:4:5","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1171:3:5"},"nodeType":"YulFunctionCall","src":"1171:13:5"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"1161:6:5"}]},{"nodeType":"YulAssignment","src":"1193:16:5","value":{"name":"length","nodeType":"YulIdentifier","src":"1203:6:5"},"variableNames":[{"name":"value4","nodeType":"YulIdentifier","src":"1193:6:5"}]}]},"name":"abi_decode_tuple_t_array$_t_uint256_$2_calldata_ptrt_array$_t_array$_t_uint256_$2_calldata_ptr_$2_calldata_ptrt_array$_t_uint256_$2_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"368:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"379:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"391:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"399:6:5","type":""},{"name":"value2","nodeType":"YulTypedName","src":"407:6:5","type":""},{"name":"value3","nodeType":"YulTypedName","src":"415:6:5","type":""},{"name":"value4","nodeType":"YulTypedName","src":"423:6:5","type":""}],"src":"178:1037:5"},{"body":{"nodeType":"YulBlock","src":"1315:92:5","statements":[{"nodeType":"YulAssignment","src":"1325:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1337:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"1348:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1333:3:5"},"nodeType":"YulFunctionCall","src":"1333:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1325:4:5"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1367:9:5"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1392:6:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1385:6:5"},"nodeType":"YulFunctionCall","src":"1385:14:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1378:6:5"},"nodeType":"YulFunctionCall","src":"1378:22:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1360:6:5"},"nodeType":"YulFunctionCall","src":"1360:41:5"},"nodeType":"YulExpressionStatement","src":"1360:41:5"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1284:9:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"1295:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1306:4:5","type":""}],"src":"1220:187:5"}]},"contents":"{\n { }\n function abi_decode_array_uint256_calldata(offset, end) -> arrayPos\n {\n arrayPos := offset\n if gt(add(offset, 64), end) { revert(0, 0) }\n }\n function abi_decode_tuple_t_array$_t_uint256_$2_calldata_ptrt_array$_t_array$_t_uint256_$2_calldata_ptr_$2_calldata_ptrt_array$_t_uint256_$2_calldata_ptrt_array$_t_uint256_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4\n {\n if slt(sub(dataEnd, headStart), 288) { revert(0, 0) }\n value0 := abi_decode_array_uint256_calldata(headStart, dataEnd)\n let _1 := add(headStart, 192)\n if gt(_1, dataEnd) { revert(0, 0) }\n value1 := add(headStart, 64)\n value2 := abi_decode_array_uint256_calldata(_1, dataEnd)\n let offset := calldataload(add(headStart, 256))\n let _2 := 0xffffffffffffffff\n if gt(offset, _2) { revert(0, 0) }\n let _3 := add(headStart, offset)\n if iszero(slt(add(_3, 0x1f), dataEnd)) { revert(0, 0) }\n let length := calldataload(_3)\n if gt(length, _2) { revert(0, 0) }\n if gt(add(add(_3, shl(5, length)), 0x20), dataEnd) { revert(0, 0) }\n value3 := add(_3, 0x20)\n value4 := length\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n}","id":5,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c32e370e14610030575b600080fd5b61004361003e3660046103ca565b610057565b604051901515815260200160405180910390f35b6000610390565b600060808501600086017f0ff020a416d6fb4c3cf3226387de0de4982896a8dc9035ded4f5e1da8620236a81527f2fc9671616ea7962611309ede70e3ca790b1b688026778205456ed7c3a8665f9602082015250823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08201527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08201527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008201527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208201527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408201527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160820152600086015161018082015260206000018601516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f21c515e6dc79e3bff0a086c5a4d5d53fadeadb4c9dbd20985ba0ea5ea245e87c6102808201527f1d3157dc231639513b308024329fcf340c9fae8abdf1e2a0332ef3785143d5d46102a08201527f2cc4be9ea0a0f206719d30d3b55243efe3b0827134a712fcb8b1d28725ca7f3b6102c08201527f1293109f58a8128b3dfd574ef8df70f5c7f664339fc5250a5e996fc00e8fb4376102e08201526020816103008360086107d05a03fa90511695945050505050565b60405161038081016040526103a78186888a61005e565b90508060005260206000f35b80604081018310156103c457600080fd5b92915050565b600080600080600061012086880312156103e357600080fd5b6103ed87876103b3565b945060c086018781111561040057600080fd5b60408701945061041088826103b3565b93505061010086013567ffffffffffffffff8082111561042f57600080fd5b818801915088601f83011261044357600080fd5b81358181111561045257600080fd5b8960208260051b850101111561046757600080fd5b969995985093965060200194939250505056fea2646970667358221220322a4004adcd10a570498ab9ea179b5dca8305a2cd1b25a43dff1cf1b6f3e65d64736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xC32E370E EQ PUSH2 0x30 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x3E CALLDATASIZE PUSH1 0x4 PUSH2 0x3CA JUMP JUMPDEST PUSH2 0x57 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH2 0x390 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x80 DUP6 ADD PUSH1 0x0 DUP7 ADD PUSH32 0xFF020A416D6FB4C3CF3226387DE0DE4982896A8DC9035DED4F5E1DA8620236A DUP2 MSTORE PUSH32 0x2FC9671616EA7962611309EDE70E3CA790B1B688026778205456ED7C3A8665F9 PUSH1 0x20 DUP3 ADD MSTORE POP DUP3 CALLDATALOAD DUP2 MSTORE PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH32 0x30644E72E131A029B85045B68181585D97816A916871CA8D3C208C16D87CFD47 SUB MOD PUSH1 0x20 DUP3 ADD MSTORE DUP4 CALLDATALOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0x60 DUP5 ADD CALLDATALOAD PUSH1 0xA0 DUP3 ADD MSTORE PUSH32 0x2D4D9AA7E302D9DF41749D5507949D05DBEA33FBB16C643B22F599A2BE6DF2E2 PUSH1 0xC0 DUP3 ADD MSTORE PUSH32 0x14BEDD503C37CEB061D8EC60209FE345CE89830A19230301F076CAFF004D1926 PUSH1 0xE0 DUP3 ADD MSTORE PUSH32 0x967032FCBF776D1AFC985F88877F182D38480A653F2DECAA9794CBC3BF3060C PUSH2 0x100 DUP3 ADD MSTORE PUSH32 0xE187847AD4C798374D0D6732BF501847DD68BC0E071241E0213BC7FC13DB7AB PUSH2 0x120 DUP3 ADD MSTORE PUSH32 0x304CFBD1E08A704A99F5E847D93F8C3CAAFDDEC46B7A0D379DA69A4D112346A7 PUSH2 0x140 DUP3 ADD MSTORE PUSH32 0x1739C1B1A457A8C7313123D24D2F9192F896B7C63EEA05A9D57F06547AD0CEC8 PUSH2 0x160 DUP3 ADD MSTORE PUSH1 0x0 DUP7 ADD MLOAD PUSH2 0x180 DUP3 ADD MSTORE PUSH1 0x20 PUSH1 0x0 ADD DUP7 ADD MLOAD PUSH2 0x1A0 DUP3 ADD MSTORE PUSH32 0x198E9393920D483A7260BFB731FB5D25F1AA493335A9E71297E485B7AEF312C2 PUSH2 0x1C0 DUP3 ADD MSTORE PUSH32 0x1800DEEF121F1E76426A00665E5C4479674322D4F75EDADD46DEBD5CD992F6ED PUSH2 0x1E0 DUP3 ADD MSTORE PUSH32 0x90689D0585FF075EC9E99AD690C3395BC4B313370B38EF355ACDADCD122975B PUSH2 0x200 DUP3 ADD MSTORE PUSH32 0x12C85EA5DB8C6DEB4AAB71808DCB408FE3D1E7690C43D37B4CE6CC0166FA7DAA PUSH2 0x220 DUP3 ADD MSTORE DUP5 CALLDATALOAD PUSH2 0x240 DUP3 ADD MSTORE PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH2 0x260 DUP3 ADD MSTORE PUSH32 0x21C515E6DC79E3BFF0A086C5A4D5D53FADEADB4C9DBD20985BA0EA5EA245E87C PUSH2 0x280 DUP3 ADD MSTORE PUSH32 0x1D3157DC231639513B308024329FCF340C9FAE8ABDF1E2A0332EF3785143D5D4 PUSH2 0x2A0 DUP3 ADD MSTORE PUSH32 0x2CC4BE9EA0A0F206719D30D3B55243EFE3B0827134A712FCB8B1D28725CA7F3B PUSH2 0x2C0 DUP3 ADD MSTORE PUSH32 0x1293109F58A8128B3DFD574EF8DF70F5C7F664339FC5250A5E996FC00E8FB437 PUSH2 0x2E0 DUP3 ADD MSTORE PUSH1 0x20 DUP2 PUSH2 0x300 DUP4 PUSH1 0x8 PUSH2 0x7D0 GAS SUB STATICCALL SWAP1 MLOAD AND SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x380 DUP2 ADD PUSH1 0x40 MSTORE PUSH2 0x3A7 DUP2 DUP7 DUP9 DUP11 PUSH2 0x5E JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 RETURN JUMPDEST DUP1 PUSH1 0x40 DUP2 ADD DUP4 LT ISZERO PUSH2 0x3C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 PUSH2 0x120 DUP7 DUP9 SUB SLT ISZERO PUSH2 0x3E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x3ED DUP8 DUP8 PUSH2 0x3B3 JUMP JUMPDEST SWAP5 POP PUSH1 0xC0 DUP7 ADD DUP8 DUP2 GT ISZERO PUSH2 0x400 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x40 DUP8 ADD SWAP5 POP PUSH2 0x410 DUP9 DUP3 PUSH2 0x3B3 JUMP JUMPDEST SWAP4 POP POP PUSH2 0x100 DUP7 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x42F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP9 ADD SWAP2 POP DUP9 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x443 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x452 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP10 PUSH1 0x20 DUP3 PUSH1 0x5 SHL DUP6 ADD ADD GT ISZERO PUSH2 0x467 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP7 SWAP10 SWAP6 SWAP9 POP SWAP4 SWAP7 POP PUSH1 0x20 ADD SWAP5 SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ORIGIN 0x2A BLOCKHASH DIV 0xAD 0xCD LT 0xA5 PUSH17 0x498AB9EA179B5DCA8305A2CD1B25A43DFF SHR CALL 0xB6 RETURN 0xE6 0x5D PUSH5 0x736F6C6343 STOP ADDMOD SGT STOP CALLER ","sourceMap":"831:5823:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3035:3616;;;;;;:::i;:::-;;:::i;:::-;;;1385:14:5;;1378:22;1360:41;;1348:2;1333:18;3035:3616:1;;;;;;;;3175:4;3214:163;;4233:2089;4276:4;4326:8;4320:4;4316:19;4374:3;4368:4;4364:14;4409:4;4403;4396:18;4453:4;4448:2;4442:4;4438:13;4431:27;;4602:2;4589:16;4578:9;4571:35;4689:1;4682:2;4678;4674:11;4661:25;4658:1;4654:33;4650:41;4645:2;4634:9;4630:18;4623:69;4771:2;4758:16;4753:2;4742:9;4738:18;4731:44;4840:2;4836;4832:11;4819:25;4814:2;4803:9;4799:18;4792:53;4911:2;4907;4903:11;4890:25;4884:3;4873:9;4869:19;4862:54;4982:2;4978;4974:11;4961:25;4955:3;4944:9;4940:19;4933:54;5059:6;5053:3;5042:9;5038:19;5031:35;5111:6;5105:3;5094:9;5090:19;5083:35;5189:6;5183:3;5172:9;5168:19;5161:35;5241:6;5235:3;5224:9;5220:19;5213:35;5293:6;5287:3;5276:9;5272:19;5265:35;5345:6;5339:3;5328:9;5324:19;5317:35;5438:3;5432:4;5428:14;5422:21;5416:3;5405:9;5401:19;5394:50;5514:2;5509:3;5505:12;5499:4;5495:23;5489:30;5483:3;5472:9;5468:19;5461:59;5593:7;5587:3;5576:9;5572:19;5565:36;5646:7;5640:3;5629:9;5625:19;5618:36;5699:7;5693:3;5682:9;5678:19;5671:36;5752:7;5746:3;5735:9;5731:19;5724:36;5840:2;5827:16;5821:3;5810:9;5806:19;5799:45;5910:2;5906;5902:11;5889:25;5883:3;5872:9;5868:19;5861:54;5987:7;5981:3;5970:9;5966:19;5959:36;6040:7;6034:3;6023:9;6019:19;6012:36;6093:7;6087:3;6076:9;6072:19;6065:36;6146:7;6140:3;6129:9;6125:19;6118:36;6247:4;6236:9;6231:3;6220:9;6217:1;6210:4;6203:5;6199:16;6188:64;6291:16;;6278:30;;4233:2089;-1:-1:-1;;;;;4233:2089:1:o;:::-;6354:4;6348:11;6395:8;6389:4;6385:19;6379:4;6372:33;6539;6567:4;6562:3;6557;6552;6539:33;:::i;:::-;6524:48;;6596:7;6593:1;6586:18;6628:4;6625:1;6618:15;14:159:5;108:6;141:2;129:15;;126:24;-1:-1:-1;123:44:5;;;163:1;160;153:12;123:44;14:159;;;;:::o;178:1037::-;391:6;399;407;415;423;476:3;464:9;455:7;451:23;447:33;444:53;;;493:1;490;483:12;444:53;516;561:7;550:9;516:53;:::i;:::-;506:63;;603:3;592:9;588:19;626:7;622:2;619:15;616:35;;;647:1;644;637:12;616:35;685:2;674:9;670:18;660:28;;707:46;745:7;741:2;707:46;:::i;:::-;697:56;;;804:3;793:9;789:19;776:33;828:18;869:2;861:6;858:14;855:34;;;885:1;882;875:12;855:34;923:6;912:9;908:22;898:32;;968:7;961:4;957:2;953:13;949:27;939:55;;990:1;987;980:12;939:55;1030:2;1017:16;1056:2;1048:6;1045:14;1042:34;;;1072:1;1069;1062:12;1042:34;1127:7;1120:4;1110:6;1107:1;1103:14;1099:2;1095:23;1091:34;1088:47;1085:67;;;1148:1;1145;1138:12;1085:67;178:1037;;;;-1:-1:-1;178:1037:5;;-1:-1:-1;1179:4:5;1171:13;;1203:6;178:1037;-1:-1:-1;;;178:1037:5:o"},"methodIdentifiers":{"verifyProof(uint256[2],uint256[2][2],uint256[2],uint256[])":"c32e370e"}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256[2]\",\"name\":\"_pA\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[2][2]\",\"name\":\"_pB\",\"type\":\"uint256[2][2]\"},{\"internalType\":\"uint256[2]\",\"name\":\"_pC\",\"type\":\"uint256[2]\"},{\"internalType\":\"uint256[]\",\"name\":\"_pubSignals\",\"type\":\"uint256[]\"}],\"name\":\"verifyProof\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Verifier.sol\":\"Groth16Verifier\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Verifier.sol\":{\"keccak256\":\"0xba82bb93e03f87a2bd4dc5ec4d0d9933a9653ac8662366d3f5c647871499dfa3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://18a094d2e96bea0857c7e081db0feffecf0414da4f5cfe0c1bd7b6efaba03a15\",\"dweb:/ipfs/Qmc8siBcL3dbNJYbfS5HUcpiEiaSPmFVEjPHkhLRMUY3vk\"]}},\"version\":1}"}},"contracts/security/Pausable.sol":{"Pausable":{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{"paused()":"5c975abb"}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/security/Pausable.sol\":\"Pausable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/security/Pausable.sol\":{\"keccak256\":\"0x6f127c35a39ec7f792c5bc0003724236a29d153c009c5796bc1631e03e9245bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://57738adcca76c66a7f7f1711e2ee32656dea1807dabdff69cae628e627615009\",\"dweb:/ipfs/QmeFM5KcxF45W3Zn14ddwLydPfxz74RQka2mqMS6MqA7j3\"]}},\"version\":1}"}},"contracts/security/ReentrancyGuard.sol":{"ReentrancyGuard":{"abi":[],"evm":{"bytecode":{"functionDebugData":{},"generatedSources":[],"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"deployedBytecode":{"functionDebugData":{},"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"","opcodes":"","sourceMap":""},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/security/ReentrancyGuard.sol\":\"ReentrancyGuard\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xc0a4537b7616bf43d8ee0fcba1e97c186141df0cd74b6590c949ec7727ad2daf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a00aaddfa05ec4b22b9aa403c1cdf66442356f3fb752f7dc510584c61417dd7\",\"dweb:/ipfs/QmeyB5c3oHPZnzbRub88UpyBMwTn42XrPmZM8HuWPR3RZP\"]}},\"version\":1}"}},"contracts/test/ReentrancyAttacker.sol":{"ReentrancyAttacker":{"abi":[{"inputs":[{"internalType":"address","name":"_target","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"attackInProgress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"depositToTarget","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_withdrawAmount","type":"uint256"},{"internalType":"uint256","name":"_maxReentries","type":"uint256"}],"name":"initiateAttack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxReentries","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reentryBlocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reentryCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"target","outputs":[{"internalType":"contract CropChain","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"functionDebugData":{"@_1676":{"entryPoint":null,"id":1676,"parameterSlots":1,"returnSlots":0},"abi_decode_tuple_t_address_fromMemory":{"entryPoint":64,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:306:5","statements":[{"nodeType":"YulBlock","src":"6:3:5","statements":[]},{"body":{"nodeType":"YulBlock","src":"95:209:5","statements":[{"body":{"nodeType":"YulBlock","src":"141:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"150:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"153:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"143:6:5"},"nodeType":"YulFunctionCall","src":"143:12:5"},"nodeType":"YulExpressionStatement","src":"143:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"116:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"125:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"112:3:5"},"nodeType":"YulFunctionCall","src":"112:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"137:2:5","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"108:3:5"},"nodeType":"YulFunctionCall","src":"108:32:5"},"nodeType":"YulIf","src":"105:52:5"},{"nodeType":"YulVariableDeclaration","src":"166:29:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"185:9:5"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"179:5:5"},"nodeType":"YulFunctionCall","src":"179:16:5"},"variables":[{"name":"value","nodeType":"YulTypedName","src":"170:5:5","type":""}]},{"body":{"nodeType":"YulBlock","src":"258:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"267:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"270:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"260:6:5"},"nodeType":"YulFunctionCall","src":"260:12:5"},"nodeType":"YulExpressionStatement","src":"260:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"217:5:5"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"228:5:5"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"243:3:5","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"248:1:5","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"239:3:5"},"nodeType":"YulFunctionCall","src":"239:11:5"},{"kind":"number","nodeType":"YulLiteral","src":"252:1:5","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"235:3:5"},"nodeType":"YulFunctionCall","src":"235:19:5"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"224:3:5"},"nodeType":"YulFunctionCall","src":"224:31:5"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"214:2:5"},"nodeType":"YulFunctionCall","src":"214:42:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"207:6:5"},"nodeType":"YulFunctionCall","src":"207:50:5"},"nodeType":"YulIf","src":"204:70:5"},{"nodeType":"YulAssignment","src":"283:15:5","value":{"name":"value","nodeType":"YulIdentifier","src":"293:5:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"283:6:5"}]}]},"name":"abi_decode_tuple_t_address_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"61:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"72:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"84:6:5","type":""}],"src":"14:290:5"}]},"contents":"{\n { }\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value0 := value\n }\n}","id":5,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60a060405234801561001057600080fd5b5060405161051c38038061051c83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b60805161047d61009f6000396000818160d301528181610223015281816102db015261038a015261047d6000f3fe60806040526004361061007f5760003560e01c806353b381691161004e57806353b38169146101d957806364bf5dcb146101ef578063818c8c7c146101f7578063d4b839921461021157600080fd5b8063043d7fcd1461014b57806332db89f21461016b578063352bb4ba1461019f578063534844a2146101c357600080fd5b366101465760035460ff16158061009a575060015460025410155b156100a157005b6001600260008282546100b491906103fe565b90915550506000546040516305430f9560e11b815260048101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630a861f2a90602401600060405180830381600087803b15801561011f57600080fd5b505af1925050508015610130575060015b610144576003805461ff0019166101001790555b005b600080fd5b34801561015757600080fd5b50610144610166366004610425565b61025d565b34801561017757600080fd5b5060035461018a90610100900460ff1681565b60405190151581526020015b60405180910390f35b3480156101ab57600080fd5b506101b560015481565b604051908152602001610196565b3480156101cf57600080fd5b506101b560005481565b3480156101e557600080fd5b506101b560025481565b61014461034d565b34801561020357600080fd5b5060035461018a9060ff1681565b34801561021d57600080fd5b506102457f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610196565b600082116102a75760405162461bcd60e51b81526020600482015260126024820152710416d6f756e74206d757374206265203e20360741b60448201526064015b60405180910390fd5b600082815560018281556002919091556003805461ffff191690911790556040516305430f9560e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630a861f2a90602401600060405180830381600087803b15801561032757600080fd5b505af115801561033b573d6000803e3d6000fd5b50506003805460ff1916905550505050565b600034116103885760405162461bcd60e51b81526020600482015260086024820152674e6f2076616c756560c01b604482015260640161029e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ca593c59346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156103e357600080fd5b505af11580156103f7573d6000803e3d6000fd5b5050505050565b8082018082111561041f57634e487b7160e01b600052601160045260246000fd5b92915050565b6000806040838503121561043857600080fd5b5050803592602090910135915056fea264697066735822122083c5127b8011825ebef62573703ae6dd9f8d82f86cc6343c7f6905274916c6c264736f6c63430008130033","opcodes":"PUSH1 0xA0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x51C CODESIZE SUB DUP1 PUSH2 0x51C DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x2F SWAP2 PUSH2 0x40 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x80 MSTORE PUSH2 0x70 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x47D PUSH2 0x9F PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH1 0xD3 ADD MSTORE DUP2 DUP2 PUSH2 0x223 ADD MSTORE DUP2 DUP2 PUSH2 0x2DB ADD MSTORE PUSH2 0x38A ADD MSTORE PUSH2 0x47D PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x7F JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x53B38169 GT PUSH2 0x4E JUMPI DUP1 PUSH4 0x53B38169 EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0x64BF5DCB EQ PUSH2 0x1EF JUMPI DUP1 PUSH4 0x818C8C7C EQ PUSH2 0x1F7 JUMPI DUP1 PUSH4 0xD4B83992 EQ PUSH2 0x211 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x43D7FCD EQ PUSH2 0x14B JUMPI DUP1 PUSH4 0x32DB89F2 EQ PUSH2 0x16B JUMPI DUP1 PUSH4 0x352BB4BA EQ PUSH2 0x19F JUMPI DUP1 PUSH4 0x534844A2 EQ PUSH2 0x1C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x146 JUMPI PUSH1 0x3 SLOAD PUSH1 0xFF AND ISZERO DUP1 PUSH2 0x9A JUMPI POP PUSH1 0x1 SLOAD PUSH1 0x2 SLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0xA1 JUMPI STOP JUMPDEST PUSH1 0x1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xB4 SWAP2 SWAP1 PUSH2 0x3FE JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 SLOAD PUSH1 0x40 MLOAD PUSH4 0x5430F95 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA861F2A SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x11F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x130 JUMPI POP PUSH1 0x1 JUMPDEST PUSH2 0x144 JUMPI PUSH1 0x3 DUP1 SLOAD PUSH2 0xFF00 NOT AND PUSH2 0x100 OR SWAP1 SSTORE JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x157 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x144 PUSH2 0x166 CALLDATASIZE PUSH1 0x4 PUSH2 0x425 JUMP JUMPDEST PUSH2 0x25D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x177 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3 SLOAD PUSH2 0x18A SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B5 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x196 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B5 PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B5 PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x144 PUSH2 0x34D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x203 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3 SLOAD PUSH2 0x18A SWAP1 PUSH1 0xFF AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x21D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x245 PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x196 JUMP JUMPDEST PUSH1 0x0 DUP3 GT PUSH2 0x2A7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x416D6F756E74206D757374206265203E203 PUSH1 0x74 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 SSTORE PUSH1 0x1 DUP3 DUP2 SSTORE PUSH1 0x2 SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0x3 DUP1 SLOAD PUSH2 0xFFFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH4 0x5430F95 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA861F2A SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x327 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x33B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x3 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLVALUE GT PUSH2 0x388 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x8 PUSH1 0x24 DUP3 ADD MSTORE PUSH8 0x4E6F2076616C7565 PUSH1 0xC0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x29E JUMP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xCA593C59 CALLVALUE PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3F7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x41F JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x438 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP4 0xC5 SLT PUSH28 0x8011825EBEF62573703AE6DD9F8D82F86CC6343C7F6905274916C6C2 PUSH5 0x736F6C6343 STOP ADDMOD SGT STOP CALLER ","sourceMap":"86:1225:4:-:0;;;328:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;367:27:4;;;86:1225;;14:290:5;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:5;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:5:o;:::-;86:1225:4;;;;;;;;;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"functionDebugData":{"@_1771":{"entryPoint":null,"id":1771,"parameterSlots":0,"returnSlots":0},"@attackInProgress_1662":{"entryPoint":null,"id":1662,"parameterSlots":0,"returnSlots":0},"@depositToTarget_1696":{"entryPoint":845,"id":1696,"parameterSlots":0,"returnSlots":0},"@initiateAttack_1741":{"entryPoint":605,"id":1741,"parameterSlots":2,"returnSlots":0},"@maxReentries_1658":{"entryPoint":null,"id":1658,"parameterSlots":0,"returnSlots":0},"@reentryBlocked_1664":{"entryPoint":null,"id":1664,"parameterSlots":0,"returnSlots":0},"@reentryCount_1660":{"entryPoint":null,"id":1660,"parameterSlots":0,"returnSlots":0},"@target_1654":{"entryPoint":null,"id":1654,"parameterSlots":0,"returnSlots":0},"@withdrawAmount_1656":{"entryPoint":null,"id":1656,"parameterSlots":0,"returnSlots":0},"abi_decode_tuple_t_uint256t_uint256":{"entryPoint":1061,"id":null,"parameterSlots":2,"returnSlots":2},"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_contract$_CropChain_$1414__to_t_address__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_tuple_t_stringliteral_01c242f1c806840acb94ec05d87d4647010419c53a053a581e0026b3f6467dbb__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_stringliteral_a95d22a2616d21123a8027e11cd68edb847637bfebe8417876817874e9172936__to_t_string_memory_ptr__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":1,"returnSlots":1},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":null,"id":null,"parameterSlots":2,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":1022,"id":null,"parameterSlots":2,"returnSlots":1}},"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1774:5","statements":[{"nodeType":"YulBlock","src":"6:3:5","statements":[]},{"body":{"nodeType":"YulBlock","src":"62:174:5","statements":[{"nodeType":"YulAssignment","src":"72:16:5","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"83:1:5"},{"name":"y","nodeType":"YulIdentifier","src":"86:1:5"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"79:3:5"},"nodeType":"YulFunctionCall","src":"79:9:5"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"72:3:5"}]},{"body":{"nodeType":"YulBlock","src":"119:111:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"140:1:5","type":"","value":"0"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"147:3:5","type":"","value":"224"},{"kind":"number","nodeType":"YulLiteral","src":"152:10:5","type":"","value":"0x4e487b71"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"143:3:5"},"nodeType":"YulFunctionCall","src":"143:20:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"133:6:5"},"nodeType":"YulFunctionCall","src":"133:31:5"},"nodeType":"YulExpressionStatement","src":"133:31:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"184:1:5","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"187:4:5","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"177:6:5"},"nodeType":"YulFunctionCall","src":"177:15:5"},"nodeType":"YulExpressionStatement","src":"177:15:5"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"212:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"215:4:5","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"205:6:5"},"nodeType":"YulFunctionCall","src":"205:15:5"},"nodeType":"YulExpressionStatement","src":"205:15:5"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"103:1:5"},{"name":"sum","nodeType":"YulIdentifier","src":"106:3:5"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"100:2:5"},"nodeType":"YulFunctionCall","src":"100:10:5"},"nodeType":"YulIf","src":"97:133:5"}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"45:1:5","type":""},{"name":"y","nodeType":"YulTypedName","src":"48:1:5","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"54:3:5","type":""}],"src":"14:222:5"},{"body":{"nodeType":"YulBlock","src":"342:76:5","statements":[{"nodeType":"YulAssignment","src":"352:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"364:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"375:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"360:3:5"},"nodeType":"YulFunctionCall","src":"360:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"352:4:5"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"394:9:5"},{"name":"value0","nodeType":"YulIdentifier","src":"405:6:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"387:6:5"},"nodeType":"YulFunctionCall","src":"387:25:5"},"nodeType":"YulExpressionStatement","src":"387:25:5"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"311:9:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"322:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"333:4:5","type":""}],"src":"241:177:5"},{"body":{"nodeType":"YulBlock","src":"510:161:5","statements":[{"body":{"nodeType":"YulBlock","src":"556:16:5","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"565:1:5","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"568:1:5","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"558:6:5"},"nodeType":"YulFunctionCall","src":"558:12:5"},"nodeType":"YulExpressionStatement","src":"558:12:5"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"531:7:5"},{"name":"headStart","nodeType":"YulIdentifier","src":"540:9:5"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"527:3:5"},"nodeType":"YulFunctionCall","src":"527:23:5"},{"kind":"number","nodeType":"YulLiteral","src":"552:2:5","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"523:3:5"},"nodeType":"YulFunctionCall","src":"523:32:5"},"nodeType":"YulIf","src":"520:52:5"},{"nodeType":"YulAssignment","src":"581:33:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"604:9:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"591:12:5"},"nodeType":"YulFunctionCall","src":"591:23:5"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"581:6:5"}]},{"nodeType":"YulAssignment","src":"623:42:5","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"650:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"661:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"646:3:5"},"nodeType":"YulFunctionCall","src":"646:18:5"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"633:12:5"},"nodeType":"YulFunctionCall","src":"633:32:5"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"623:6:5"}]}]},"name":"abi_decode_tuple_t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"468:9:5","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"479:7:5","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"491:6:5","type":""},{"name":"value1","nodeType":"YulTypedName","src":"499:6:5","type":""}],"src":"423:248:5"},{"body":{"nodeType":"YulBlock","src":"771:92:5","statements":[{"nodeType":"YulAssignment","src":"781:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"793:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"804:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"789:3:5"},"nodeType":"YulFunctionCall","src":"789:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"781:4:5"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"823:9:5"},{"arguments":[{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"848:6:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"841:6:5"},"nodeType":"YulFunctionCall","src":"841:14:5"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"834:6:5"},"nodeType":"YulFunctionCall","src":"834:22:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"816:6:5"},"nodeType":"YulFunctionCall","src":"816:41:5"},"nodeType":"YulExpressionStatement","src":"816:41:5"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"740:9:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"751:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"762:4:5","type":""}],"src":"676:187:5"},{"body":{"nodeType":"YulBlock","src":"987:102:5","statements":[{"nodeType":"YulAssignment","src":"997:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1009:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"1020:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1005:3:5"},"nodeType":"YulFunctionCall","src":"1005:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"997:4:5"}]},{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1039:9:5"},{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"1054:6:5"},{"arguments":[{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1070:3:5","type":"","value":"160"},{"kind":"number","nodeType":"YulLiteral","src":"1075:1:5","type":"","value":"1"}],"functionName":{"name":"shl","nodeType":"YulIdentifier","src":"1066:3:5"},"nodeType":"YulFunctionCall","src":"1066:11:5"},{"kind":"number","nodeType":"YulLiteral","src":"1079:1:5","type":"","value":"1"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1062:3:5"},"nodeType":"YulFunctionCall","src":"1062:19:5"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"1050:3:5"},"nodeType":"YulFunctionCall","src":"1050:32:5"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1032:6:5"},"nodeType":"YulFunctionCall","src":"1032:51:5"},"nodeType":"YulExpressionStatement","src":"1032:51:5"}]},"name":"abi_encode_tuple_t_contract$_CropChain_$1414__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"956:9:5","type":""},{"name":"value0","nodeType":"YulTypedName","src":"967:6:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"978:4:5","type":""}],"src":"868:221:5"},{"body":{"nodeType":"YulBlock","src":"1268:168:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1285:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"1296:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1278:6:5"},"nodeType":"YulFunctionCall","src":"1278:21:5"},"nodeType":"YulExpressionStatement","src":"1278:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1319:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"1330:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1315:3:5"},"nodeType":"YulFunctionCall","src":"1315:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"1335:2:5","type":"","value":"18"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1308:6:5"},"nodeType":"YulFunctionCall","src":"1308:30:5"},"nodeType":"YulExpressionStatement","src":"1308:30:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1358:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"1369:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1354:3:5"},"nodeType":"YulFunctionCall","src":"1354:18:5"},{"hexValue":"416d6f756e74206d757374206265203e2030","kind":"string","nodeType":"YulLiteral","src":"1374:20:5","type":"","value":"Amount must be > 0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1347:6:5"},"nodeType":"YulFunctionCall","src":"1347:48:5"},"nodeType":"YulExpressionStatement","src":"1347:48:5"},{"nodeType":"YulAssignment","src":"1404:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1416:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"1427:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1412:3:5"},"nodeType":"YulFunctionCall","src":"1412:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1404:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_01c242f1c806840acb94ec05d87d4647010419c53a053a581e0026b3f6467dbb__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1245:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1259:4:5","type":""}],"src":"1094:342:5"},{"body":{"nodeType":"YulBlock","src":"1615:157:5","statements":[{"expression":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1632:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"1643:2:5","type":"","value":"32"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1625:6:5"},"nodeType":"YulFunctionCall","src":"1625:21:5"},"nodeType":"YulExpressionStatement","src":"1625:21:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1666:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"1677:2:5","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1662:3:5"},"nodeType":"YulFunctionCall","src":"1662:18:5"},{"kind":"number","nodeType":"YulLiteral","src":"1682:1:5","type":"","value":"8"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1655:6:5"},"nodeType":"YulFunctionCall","src":"1655:29:5"},"nodeType":"YulExpressionStatement","src":"1655:29:5"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1704:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"1715:2:5","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1700:3:5"},"nodeType":"YulFunctionCall","src":"1700:18:5"},{"hexValue":"4e6f2076616c7565","kind":"string","nodeType":"YulLiteral","src":"1720:10:5","type":"","value":"No value"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1693:6:5"},"nodeType":"YulFunctionCall","src":"1693:38:5"},"nodeType":"YulExpressionStatement","src":"1693:38:5"},{"nodeType":"YulAssignment","src":"1740:26:5","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1752:9:5"},{"kind":"number","nodeType":"YulLiteral","src":"1763:2:5","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1748:3:5"},"nodeType":"YulFunctionCall","src":"1748:18:5"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"1740:4:5"}]}]},"name":"abi_encode_tuple_t_stringliteral_a95d22a2616d21123a8027e11cd68edb847637bfebe8417876817874e9172936__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1592:9:5","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"1606:4:5","type":""}],"src":"1441:331:5"}]},"contents":"{\n { }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, iszero(iszero(value0)))\n }\n function abi_encode_tuple_t_contract$_CropChain_$1414__to_t_address__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n }\n function abi_encode_tuple_t_stringliteral_01c242f1c806840acb94ec05d87d4647010419c53a053a581e0026b3f6467dbb__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 18)\n mstore(add(headStart, 64), \"Amount must be > 0\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_a95d22a2616d21123a8027e11cd68edb847637bfebe8417876817874e9172936__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 8)\n mstore(add(headStart, 64), \"No value\")\n tail := add(headStart, 96)\n }\n}","id":5,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{"1654":[{"length":32,"start":211},{"length":32,"start":547},{"length":32,"start":731},{"length":32,"start":906}]},"linkReferences":{},"object":"60806040526004361061007f5760003560e01c806353b381691161004e57806353b38169146101d957806364bf5dcb146101ef578063818c8c7c146101f7578063d4b839921461021157600080fd5b8063043d7fcd1461014b57806332db89f21461016b578063352bb4ba1461019f578063534844a2146101c357600080fd5b366101465760035460ff16158061009a575060015460025410155b156100a157005b6001600260008282546100b491906103fe565b90915550506000546040516305430f9560e11b815260048101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630a861f2a90602401600060405180830381600087803b15801561011f57600080fd5b505af1925050508015610130575060015b610144576003805461ff0019166101001790555b005b600080fd5b34801561015757600080fd5b50610144610166366004610425565b61025d565b34801561017757600080fd5b5060035461018a90610100900460ff1681565b60405190151581526020015b60405180910390f35b3480156101ab57600080fd5b506101b560015481565b604051908152602001610196565b3480156101cf57600080fd5b506101b560005481565b3480156101e557600080fd5b506101b560025481565b61014461034d565b34801561020357600080fd5b5060035461018a9060ff1681565b34801561021d57600080fd5b506102457f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610196565b600082116102a75760405162461bcd60e51b81526020600482015260126024820152710416d6f756e74206d757374206265203e20360741b60448201526064015b60405180910390fd5b600082815560018281556002919091556003805461ffff191690911790556040516305430f9560e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630a861f2a90602401600060405180830381600087803b15801561032757600080fd5b505af115801561033b573d6000803e3d6000fd5b50506003805460ff1916905550505050565b600034116103885760405162461bcd60e51b81526020600482015260086024820152674e6f2076616c756560c01b604482015260640161029e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ca593c59346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156103e357600080fd5b505af11580156103f7573d6000803e3d6000fd5b5050505050565b8082018082111561041f57634e487b7160e01b600052601160045260246000fd5b92915050565b6000806040838503121561043857600080fd5b5050803592602090910135915056fea264697066735822122083c5127b8011825ebef62573703ae6dd9f8d82f86cc6343c7f6905274916c6c264736f6c63430008130033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x7F JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x53B38169 GT PUSH2 0x4E JUMPI DUP1 PUSH4 0x53B38169 EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0x64BF5DCB EQ PUSH2 0x1EF JUMPI DUP1 PUSH4 0x818C8C7C EQ PUSH2 0x1F7 JUMPI DUP1 PUSH4 0xD4B83992 EQ PUSH2 0x211 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x43D7FCD EQ PUSH2 0x14B JUMPI DUP1 PUSH4 0x32DB89F2 EQ PUSH2 0x16B JUMPI DUP1 PUSH4 0x352BB4BA EQ PUSH2 0x19F JUMPI DUP1 PUSH4 0x534844A2 EQ PUSH2 0x1C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST CALLDATASIZE PUSH2 0x146 JUMPI PUSH1 0x3 SLOAD PUSH1 0xFF AND ISZERO DUP1 PUSH2 0x9A JUMPI POP PUSH1 0x1 SLOAD PUSH1 0x2 SLOAD LT ISZERO JUMPDEST ISZERO PUSH2 0xA1 JUMPI STOP JUMPDEST PUSH1 0x1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xB4 SWAP2 SWAP1 PUSH2 0x3FE JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x0 SLOAD PUSH1 0x40 MLOAD PUSH4 0x5430F95 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD SWAP2 SWAP1 SWAP2 MSTORE PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA861F2A SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x11F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x130 JUMPI POP PUSH1 0x1 JUMPDEST PUSH2 0x144 JUMPI PUSH1 0x3 DUP1 SLOAD PUSH2 0xFF00 NOT AND PUSH2 0x100 OR SWAP1 SSTORE JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x157 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x144 PUSH2 0x166 CALLDATASIZE PUSH1 0x4 PUSH2 0x425 JUMP JUMPDEST PUSH2 0x25D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x177 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3 SLOAD PUSH2 0x18A SWAP1 PUSH2 0x100 SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B5 PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x196 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B5 PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1B5 PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x144 PUSH2 0x34D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x203 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3 SLOAD PUSH2 0x18A SWAP1 PUSH1 0xFF AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x21D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x245 PUSH32 0x0 DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x196 JUMP JUMPDEST PUSH1 0x0 DUP3 GT PUSH2 0x2A7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x12 PUSH1 0x24 DUP3 ADD MSTORE PUSH18 0x416D6F756E74206D757374206265203E203 PUSH1 0x74 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 SSTORE PUSH1 0x1 DUP3 DUP2 SSTORE PUSH1 0x2 SWAP2 SWAP1 SWAP2 SSTORE PUSH1 0x3 DUP1 SLOAD PUSH2 0xFFFF NOT AND SWAP1 SWAP2 OR SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH4 0x5430F95 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP4 SWAP1 MSTORE PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xA861F2A SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x327 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x33B JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x3 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x0 CALLVALUE GT PUSH2 0x388 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x8 PUSH1 0x24 DUP3 ADD MSTORE PUSH8 0x4E6F2076616C7565 PUSH1 0xC0 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x29E JUMP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xCA593C59 CALLVALUE PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3F7 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x41F JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x438 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP1 CALLDATALOAD SWAP3 PUSH1 0x20 SWAP1 SWAP2 ADD CALLDATALOAD SWAP2 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP4 0xC5 SLT PUSH28 0x8011825EBEF62573703AE6DD9F8D82F86CC6343C7F6905274916C6C2 PUSH5 0x736F6C6343 STOP ADDMOD SGT STOP CALLER ","sourceMap":"86:1225:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1016:16;;;;1015:17;;:49;;;1052:12;;1036;;:28;;1015:49;1011:86;;;86:1225;1011:86;1123:1;1107:12;;:17;;;;;;;:::i;:::-;;;;-1:-1:-1;;1164:14:4;;1139:40;;-1:-1:-1;;;1139:40:4;;;;;387:25:5;;;;1139:6:4;-1:-1:-1;;;;;1139:24:4;;;;360:18:5;;1139:40:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1135:168;;1271:14;:21;;-1:-1:-1;;1271:21:4;;;;;1135:168;86:1225;;;;;561:407;;;;;;;;;;-1:-1:-1;561:407:4;;;;;:::i;:::-;;:::i;295:26::-;;;;;;;;;;-1:-1:-1;295:26:4;;;;;;;;;;;;;;841:14:5;;834:22;816:41;;804:2;789:18;295:26:4;;;;;;;;195:27;;;;;;;;;;;;;;;;;;;387:25:5;;;375:2;360:18;195:27:4;241:177:5;160:29:4;;;;;;;;;;;;;;;;228:27;;;;;;;;;;;;;;;;407:148;;;:::i;261:28::-;;;;;;;;;;-1:-1:-1;261:28:4;;;;;;;;120:33;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1050:32:5;;;1032:51;;1020:2;1005:18;120:33:4;868:221:5;561:407:4;678:1;660:15;:19;652:50;;;;-1:-1:-1;;;652:50:4;;1296:2:5;652:50:4;;;1278:21:5;1335:2;1315:18;;;1308:30;-1:-1:-1;;;1354:18:5;;;1347:48;1412:18;;652:50:4;;;;;;;;;713:14;:32;;;755:12;:28;;;793:12;:16;;;;819:14;:22;;-1:-1:-1;;851:23:4;;;;;;885:41;;-1:-1:-1;;;885:41:4;;;;;387:25:5;;;885:6:4;-1:-1:-1;;;;;885:24:4;;;;360:18:5;;885:41:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;937:16:4;:24;;-1:-1:-1;;937:24:4;;;-1:-1:-1;;;;561:407:4:o;407:148::-;481:1;469:9;:13;461:34;;;;-1:-1:-1;;;461:34:4;;1643:2:5;461:34:4;;;1625:21:5;1682:1;1662:18;;;1655:29;-1:-1:-1;;;1700:18:5;;;1693:38;1748:18;;461:34:4;1441:331:5;461:34:4;505:6;-1:-1:-1;;;;;505:23:4;;536:9;505:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;407:148::o;14:222:5:-;79:9;;;100:10;;;97:133;;;152:10;147:3;143:20;140:1;133:31;187:4;184:1;177:15;215:4;212:1;205:15;97:133;14:222;;;;:::o;423:248::-;491:6;499;552:2;540:9;531:7;527:23;523:32;520:52;;;568:1;565;558:12;520:52;-1:-1:-1;;591:23:5;;;661:2;646:18;;;633:32;;-1:-1:-1;423:248:5:o"},"methodIdentifiers":{"attackInProgress()":"818c8c7c","depositToTarget()":"64bf5dcb","initiateAttack(uint256,uint256)":"043d7fcd","maxReentries()":"352bb4ba","reentryBlocked()":"32db89f2","reentryCount()":"53b38169","target()":"d4b83992","withdrawAmount()":"534844a2"}},"metadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"attackInProgress\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositToTarget\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_withdrawAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_maxReentries\",\"type\":\"uint256\"}],\"name\":\"initiateAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxReentries\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"reentryBlocked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"reentryCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"target\",\"outputs\":[{\"internalType\":\"contract CropChain\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/ReentrancyAttacker.sol\":\"ReentrancyAttacker\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/CropChain.sol\":{\"keccak256\":\"0xe68886e23a8539243696fac1617a0031c186068f9d79ce9b14d0239cb720e17d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d2a031f4056bf0c35395bd3cf86ee80a5105a4bff1c9211f9dc53c40270f75b\",\"dweb:/ipfs/QmY3PZUyjEjtQVjWAohr7HhghngyKCqVnTFbByqp4bn9Mo\"]},\"contracts/security/Pausable.sol\":{\"keccak256\":\"0x6f127c35a39ec7f792c5bc0003724236a29d153c009c5796bc1631e03e9245bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://57738adcca76c66a7f7f1711e2ee32656dea1807dabdff69cae628e627615009\",\"dweb:/ipfs/QmeFM5KcxF45W3Zn14ddwLydPfxz74RQka2mqMS6MqA7j3\"]},\"contracts/security/ReentrancyGuard.sol\":{\"keccak256\":\"0xc0a4537b7616bf43d8ee0fcba1e97c186141df0cd74b6590c949ec7727ad2daf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a00aaddfa05ec4b22b9aa403c1cdf66442356f3fb752f7dc510584c61417dd7\",\"dweb:/ipfs/QmeyB5c3oHPZnzbRub88UpyBMwTn42XrPmZM8HuWPR3RZP\"]},\"contracts/test/ReentrancyAttacker.sol\":{\"keccak256\":\"0x21fa3ecd9976a4b10cff7a5d55f6414e00a8390aa63d83d9859cd9eb68749ade\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b1ec849cee1ca33de3c698095d73100d0f9b65f8d59c39c0556dae867f02e7c\",\"dweb:/ipfs/QmVVpdZLQerWLhDacUErbSVbo9mn9EHzXik8BHhenaLc8H\"]}},\"version\":1}"}}}}} \ No newline at end of file diff --git a/artifacts/contracts/CropChain.sol/CropChain.dbg.json b/artifacts/contracts/CropChain.sol/CropChain.dbg.json new file mode 100644 index 0000000..ba7a5cb --- /dev/null +++ b/artifacts/contracts/CropChain.sol/CropChain.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../build-info/b43de896c4a7f61663b58f2daf55e96f.json" +} diff --git a/artifacts/contracts/CropChain.sol/CropChain.json b/artifacts/contracts/CropChain.sol/CropChain.json new file mode 100644 index 0000000..4a6cdc2 --- /dev/null +++ b/artifacts/contracts/CropChain.sol/CropChain.json @@ -0,0 +1,1034 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "CropChain", + "sourceName": "contracts/CropChain.sol", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "actor", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "authorized", + "type": "bool" + } + ], + "name": "ActorAuthorized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "batchId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "string", + "name": "ipfsCID", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "creator", + "type": "address" + } + ], + "name": "BatchCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "string", + "name": "batchId", + "type": "string" + }, + { + "indexed": true, + "internalType": "address", + "name": "triggeredBy", + "type": "address" + } + ], + "name": "BatchRecalled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "batchId", + "type": "bytes32" + }, + { + "indexed": false, + "internalType": "enum CropChain.Stage", + "name": "stage", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "string", + "name": "actorName", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "location", + "type": "string" + }, + { + "indexed": true, + "internalType": "address", + "name": "updatedBy", + "type": "address" + } + ], + "name": "BatchUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "LiquidityDeposited", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "LiquidityWithdrawn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "by", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "paused", + "type": "bool" + } + ], + "name": "PauseStateUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "actor", + "type": "address" + }, + { + "indexed": false, + "internalType": "enum CropChain.ActorRole", + "name": "role", + "type": "uint8" + } + ], + "name": "RoleUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "string", + "name": "cropType", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "updatedBy", + "type": "address" + } + ], + "name": "SpotPriceSubmitted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Unpaused", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_TWAP_WINDOW", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "allBatchIds", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "batchUpdates", + "outputs": [ + { + "internalType": "enum CropChain.Stage", + "name": "stage", + "type": "uint8" + }, + { + "internalType": "string", + "name": "actorName", + "type": "string" + }, + { + "internalType": "string", + "name": "location", + "type": "string" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "string", + "name": "notes", + "type": "string" + }, + { + "internalType": "address", + "name": "updatedBy", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_batchId", + "type": "string" + }, + { + "internalType": "string", + "name": "_farmerName", + "type": "string" + }, + { + "internalType": "string", + "name": "_farmerAddress", + "type": "string" + }, + { + "internalType": "string", + "name": "_cropType", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_quantity", + "type": "uint256" + }, + { + "internalType": "string", + "name": "_harvestDate", + "type": "string" + }, + { + "internalType": "string", + "name": "_origin", + "type": "string" + }, + { + "internalType": "string", + "name": "_certifications", + "type": "string" + }, + { + "internalType": "string", + "name": "_description", + "type": "string" + } + ], + "name": "createBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "cropBatches", + "outputs": [ + { + "internalType": "bytes32", + "name": "batchId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "ipfsCID", + "type": "string" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "createdAt", + "type": "uint256" + }, + { + "internalType": "address", + "name": "creator", + "type": "address" + }, + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "internalType": "bool", + "name": "isRecalled", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "depositLiquidity", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_batchId", + "type": "string" + } + ], + "name": "getBatch", + "outputs": [ + { + "components": [ + { + "internalType": "bytes32", + "name": "batchId", + "type": "bytes32" + }, + { + "internalType": "string", + "name": "ipfsCID", + "type": "string" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "createdAt", + "type": "uint256" + }, + { + "internalType": "address", + "name": "creator", + "type": "address" + }, + { + "internalType": "bool", + "name": "exists", + "type": "bool" + }, + { + "internalType": "bool", + "name": "isRecalled", + "type": "bool" + } + ], + "internalType": "struct CropChain.CropBatch", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getBatchCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_index", + "type": "uint256" + } + ], + "name": "getBatchIdByIndex", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_batchId", + "type": "bytes32" + } + ], + "name": "getBatchUpdates", + "outputs": [ + { + "components": [ + { + "internalType": "enum CropChain.Stage", + "name": "stage", + "type": "uint8" + }, + { + "internalType": "string", + "name": "actorName", + "type": "string" + }, + { + "internalType": "string", + "name": "location", + "type": "string" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "string", + "name": "notes", + "type": "string" + }, + { + "internalType": "address", + "name": "updatedBy", + "type": "address" + } + ], + "internalType": "struct CropChain.SupplyChainUpdate[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_batchId", + "type": "string" + } + ], + "name": "getBatchUpdatesById", + "outputs": [ + { + "components": [ + { + "internalType": "enum CropChain.Stage", + "name": "stage", + "type": "uint8" + }, + { + "internalType": "string", + "name": "actorName", + "type": "string" + }, + { + "internalType": "string", + "name": "location", + "type": "string" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "string", + "name": "notes", + "type": "string" + }, + { + "internalType": "address", + "name": "updatedBy", + "type": "address" + } + ], + "internalType": "struct CropChain.SupplyChainUpdate[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_cropType", + "type": "string" + } + ], + "name": "getLatestSpotPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_batchId", + "type": "bytes32" + } + ], + "name": "getLatestUpdate", + "outputs": [ + { + "components": [ + { + "internalType": "enum CropChain.Stage", + "name": "stage", + "type": "uint8" + }, + { + "internalType": "string", + "name": "actorName", + "type": "string" + }, + { + "internalType": "string", + "name": "location", + "type": "string" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "string", + "name": "notes", + "type": "string" + }, + { + "internalType": "address", + "name": "updatedBy", + "type": "address" + } + ], + "internalType": "struct CropChain.SupplyChainUpdate", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_batchId", + "type": "string" + } + ], + "name": "getLatestUpdateById", + "outputs": [ + { + "components": [ + { + "internalType": "enum CropChain.Stage", + "name": "stage", + "type": "uint8" + }, + { + "internalType": "string", + "name": "actorName", + "type": "string" + }, + { + "internalType": "string", + "name": "location", + "type": "string" + }, + { + "internalType": "uint256", + "name": "timestamp", + "type": "uint256" + }, + { + "internalType": "string", + "name": "notes", + "type": "string" + }, + { + "internalType": "address", + "name": "updatedBy", + "type": "address" + } + ], + "internalType": "struct CropChain.SupplyChainUpdate", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_cropType", + "type": "string" + } + ], + "name": "getPriceObservationCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getTotalBatches", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_cropType", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_windowSeconds", + "type": "uint256" + } + ], + "name": "getTwapPrice", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "mandiLiquidity", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_batchId", + "type": "string" + } + ], + "name": "recallBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "roles", + "outputs": [ + { + "internalType": "enum CropChain.ActorRole", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bool", + "name": "_paused", + "type": "bool" + } + ], + "name": "setPaused", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_user", + "type": "address" + }, + { + "internalType": "enum CropChain.ActorRole", + "name": "_role", + "type": "uint8" + } + ], + "name": "setRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_cropType", + "type": "string" + }, + { + "internalType": "uint256", + "name": "_price", + "type": "uint256" + } + ], + "name": "submitSpotPrice", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "totalLiquidity", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "_batchId", + "type": "bytes32" + }, + { + "internalType": "enum CropChain.Stage", + "name": "_stage", + "type": "uint8" + }, + { + "internalType": "string", + "name": "_actorName", + "type": "string" + }, + { + "internalType": "string", + "name": "_location", + "type": "string" + }, + { + "internalType": "string", + "name": "_notes", + "type": "string" + } + ], + "name": "updateBatch", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "withdrawLiquidity", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5060016000818155815460ff1990811690925560068054336001600160a01b031990911681179091558152600460205260409020805490911660051790556137718061005d6000396000f3fe6080604052600436106101c25760003560e01c80638da5cb5b116100f7578063aa68b48e11610095578063e3bd286711610064578063e3bd28671461055e578063e561dddc146104af578063f2fde38b1461057e578063f9ca42741461059e57600080fd5b8063aa68b48e146104e4578063ab00501114610516578063b0a6295714610536578063ca593c591461055657600080fd5b806399374642116100d15780639937464214610452578063a0b6041d1461048f578063a8fabfa5146104af578063a9437275146104c457600080fd5b80638da5cb5b146103ba578063906ddff1146103f257806395e468021461042557600080fd5b806336214a1c11610164578063571c3e601161013e578063571c3e60146103345780635c975abb146103545780635fcb212014610377578063716da2951461038d57600080fd5b806336214a1c146102d45780633d41eda1146102f4578063529691871461031457600080fd5b806315770f92116101a057806315770f921461024357806316c38b3c14610267578063290b17ec1461028757806332fc2162146102a757600080fd5b806308ec1ee8146101c75780630a861f2a146101e957806311459ad214610209575b600080fd5b3480156101d357600080fd5b506101e76101e2366004612c94565b6105cb565b005b3480156101f557600080fd5b506101e7610204366004612ce0565b6107d4565b34801561021557600080fd5b50610229610224366004612cf9565b610a26565b604080519283526020830191909152015b60405180910390f35b34801561024f57600080fd5b5061025960085481565b60405190815260200161023a565b34801561027357600080fd5b506101e7610282366004612d3b565b610aea565b34801561029357600080fd5b506102596102a2366004612ce0565b610b7c565b3480156102b357600080fd5b506102596102c2366004612d80565b60076020526000908152604090205481565b3480156102e057600080fd5b506101e76102ef366004612e3e565b610b9d565b34801561030057600080fd5b506101e761030f366004612ee7565b610f56565b34801561032057600080fd5b506101e761032f366004613031565b6114a3565b34801561034057600080fd5b506101e761034f36600461306e565b611587565b34801561036057600080fd5b5060015460ff16604051901515815260200161023a565b34801561038357600080fd5b5061025961070881565b34801561039957600080fd5b506103ad6103a8366004613031565b6116d8565b60405161023a91906131a5565b3480156103c657600080fd5b506006546103da906001600160a01b031681565b6040516001600160a01b03909116815260200161023a565b3480156103fe57600080fd5b5061041261040d366004612ce0565b61198a565b60405161023a9796959493929190613207565b34801561043157600080fd5b50610445610440366004613031565b611a62565b60405161023a9190613257565b34801561045e57600080fd5b5061048261046d366004612d80565b60046020526000908152604090205460ff1681565b60405161023a919061326a565b34801561049b57600080fd5b506102596104aa366004612ce0565b611d3d565b3480156104bb57600080fd5b50600554610259565b3480156104d057600080fd5b506103ad6104df366004612ce0565b611da6565b3480156104f057600080fd5b506105046104ff366004613284565b612047565b60405161023a969594939291906132a6565b34801561052257600080fd5b50610445610531366004612ce0565b612242565b34801561054257600080fd5b50610259610551366004612c94565b6122cd565b6101e76124e7565b34801561056a57600080fd5b50610259610579366004612cf9565b61264c565b34801561058a57600080fd5b506101e7610599366004612d80565b612680565b3480156105aa57600080fd5b506105be6105b9366004613031565b61276d565b60405161023a919061330e565b3360009081526004602052604081205460ff1660058111156105ef576105ef6130a9565b036106155760405162461bcd60e51b815260040161060c9061337f565b60405180910390fd5b3360009081526004602052604090205460ff16600281600581111561063c5761063c6130a9565b148061065957506005816005811115610657576106576130a9565b145b6106755760405162461bcd60e51b815260040161060c906133a7565b61067d6128f1565b610685612939565b826106ce5760405162461bcd60e51b815260206004820152601960248201527843726f7020747970652063616e6e6f7420626520656d70747960381b604482015260640161060c565b600082116107125760405162461bcd60e51b815260206004820152601160248201527005072696365206d757374206265203e203607c1b604482015260640161060c565b600084846040516107249291906133d1565b604080519182900382206000818152600960209081528382208585018552888652428287019081528154600181810184559285529290932095516002909202909501908155905193019290925551909150339061078490879087906133d1565b60408051918290038220868352426020840152917f0a48ce64d777e75fe5538daad7210e5f17aa7af207060a3ca17543550e22a030910160405180910390a3506107ce6001600055565b50505050565b3360009081526004602052604081205460ff1660058111156107f8576107f86130a9565b036108155760405162461bcd60e51b815260040161060c9061337f565b3360009081526004602052604090205460ff16600281600581111561083c5761083c6130a9565b148061085957506005816005811115610857576108576130a9565b145b6108755760405162461bcd60e51b815260040161060c906133a7565b61087d6128f1565b610885612939565b600082116108ca5760405162461bcd60e51b81526020600482015260126024820152710416d6f756e74206d757374206265203e20360741b604482015260640161060c565b33600090815260076020526040902054828110156109235760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e74206c697175696469747960501b604482015260640161060c565b61092d83826133f7565b33600090815260076020526040812091909155600880548592906109529084906133f7565b9091555050604051600090339085908381818185875af1925050503d8060008114610999576040519150601f19603f3d011682016040523d82523d6000602084013e61099e565b606091505b50509050806109e15760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161060c565b60405184815233907fb1cce8684b4ffa8667b4577654e61ee3480d661ee9c27522ac80e211f6bd4d259060200160405180910390a25050610a226001600055565b5050565b60008060008484604051610a3b9291906133d1565b60408051918290039091206000818152600960205291909120805491925090610a9e5760405162461bcd60e51b81526020600482015260156024820152744e6f207072696365206f62736572766174696f6e7360581b604482015260640161060c565b80546000908290610ab1906001906133f7565b81548110610ac157610ac161340a565b9060005260206000209060020201905080600001548160010154945094505050505b9250929050565b6006546001600160a01b03163314610b145760405162461bcd60e51b815260040161060c90613420565b610b1c612939565b8015610b2f57610b2a612992565b610b37565b610b376129dc565b604051811515815233907fe7f645cfca4612e1136cf53cc61a2028d41f30a9bd510c8c467671ee3d4ec83d906020015b60405180910390a2610b796001600055565b50565b60058181548110610b8c57600080fd5b600091825260209091200154905081565b3360009081526004602052604081205460ff166005811115610bc157610bc16130a9565b03610bde5760405162461bcd60e51b815260040161060c9061337f565b610be66128f1565b610bee612939565b6000858152600260205260409020600401548590600160a01b900460ff16610c285760405162461bcd60e51b815260040161060c90613444565b336000908152600460208181526040808420548a85526002909252909220015460ff91821691600160a81b9091041615610c985760405162461bcd60e51b815260206004820152601160248201527010985d18da081a5cc81c9958d85b1b1959607a1b604482015260640161060c565b6000855111610ce15760405162461bcd60e51b81526020600482015260156024820152744163746f722063616e6e6f7420626520656d70747960581b604482015260640161060c565b6000845111610d325760405162461bcd60e51b815260206004820152601860248201527f4c6f636174696f6e2063616e6e6f7420626520656d7074790000000000000000604482015260640161060c565b610d3c8787612a1e565b610d885760405162461bcd60e51b815260206004820152601860248201527f496e76616c6964207374616765207472616e736974696f6e0000000000000000604482015260640161060c565b6005816005811115610d9c57610d9c6130a9565b1480610dad5750610dad8682612ac3565b610df95760405162461bcd60e51b815260206004820152601d60248201527f526f6c652063616e6e6f74207570646174652074686973207374616765000000604482015260640161060c565b600360008881526020019081526020016000206040518060c00160405280886003811115610e2957610e296130a9565b8152602080820189905260408201889052426060830152608082018790523360a09092019190915282546001818101855560009485529190932082516006909402018054929390929091839160ff191690836003811115610e8c57610e8c6130a9565b021790555060208201516001820190610ea590826134f0565b5060408201516002820190610eba90826134f0565b506060820151600382015560808201516004820190610ed990826134f0565b5060a09190910151600590910180546001600160a01b0319166001600160a01b03909216919091179055604051339088907f2cefceaa731c274adf2f7bd3b3237d2e06cb4fe59bd62d9ea2055287a132d36490610f3b908a908a908a906135b0565b60405180910390a35050610f4f6001600055565b5050505050565b3360009081526004602052604081205460ff166005811115610f7a57610f7a6130a9565b03610f975760405162461bcd60e51b815260040161060c9061337f565b610f9f6128f1565b610fa7612939565b885160208a0120600090600081815260026020526040902060040154909150600160a01b900460ff16156110145760405162461bcd60e51b8152602060048201526014602482015273426174636820616c72656164792065786973747360601b604482015260640161060c565b60008a51116110655760405162461bcd60e51b815260206004820152601860248201527f42617463682049442063616e6e6f7420626520656d7074790000000000000000604482015260640161060c565b60008951116110b65760405162461bcd60e51b815260206004820152601b60248201527f4661726d6572206e616d652063616e6e6f7420626520656d7074790000000000604482015260640161060c565b60008851116111075760405162461bcd60e51b815260206004820152601e60248201527f4661726d657220616464726573732063616e6e6f7420626520656d7074790000604482015260640161060c565b60008751116111545760405162461bcd60e51b815260206004820152601960248201527843726f7020747970652063616e6e6f7420626520656d70747960381b604482015260640161060c565b60008551116111a55760405162461bcd60e51b815260206004820152601c60248201527f4861727665737420646174652063616e6e6f7420626520656d70747900000000604482015260640161060c565b60008451116111ef5760405162461bcd60e51b81526020600482015260166024820152754f726967696e2063616e6e6f7420626520656d70747960501b604482015260640161060c565b6000861161123f5760405162461bcd60e51b815260206004820152601f60248201527f5175616e74697479206d7573742062652067726561746572207468616e203000604482015260640161060c565b6040805160e08101825282815260208082018581528284018a9052426060840152336080840152600160a08401819052600060c08501819052868152600290935293909120825181559051859382019061129990826134f0565b506040828101516002830155606083015160038084019190915560808401516004909301805460a086015160c0968701511515600160a81b0260ff60a81b19911515600160a01b026001600160a81b03199093166001600160a01b0390971696909617919091171693909317909255600085815260209290925280822081519384019091529190819081526020018c81526020018781526020014281526020018a898d8960405160200161135094939291906135ec565b60408051601f1981840301815291905281523360209182015282546001818101855560009485529190932082516006909402018054929390929091839160ff1916908360038111156113a4576113a46130a9565b0217905550602082015160018201906113bd90826134f0565b50604082015160028201906113d290826134f0565b5060608201516003820155608082015160048201906113f190826134f0565b5060a09190910151600591820180546001600160a01b0319166001600160a01b0390921691909117905580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001829055604051339083907f1e548d6c3fb449f78f5b7457156dcfb300cbb65d12a4038b334b6bfbdba95738906114849085908c9061369a565b60405180910390a350506114986001600055565b505050505050505050565b6006546001600160a01b031633146114cd5760405162461bcd60e51b815260040161060c90613420565b6114d5612939565b80516020820120600090600081815260026020526040902060040154909150600160a01b900460ff1661151a5760405162461bcd60e51b815260040161060c90613444565b60008181526002602052604090819020600401805460ff60a81b1916600160a81b17905551339061154c9084906136bc565b604051908190038120907f423ae59b8825a6f0d6872201b0102d5bc3ff543cca72ddf16d2e4d698fc9898b90600090a350610b796001600055565b6006546001600160a01b031633146115b15760405162461bcd60e51b815260040161060c90613420565b6115b9612939565b6001600160a01b0382166116015760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161060c565b6001600160a01b0382166000908152600460205260409020805482919060ff19166001836005811115611636576116366130a9565b0217905550816001600160a01b03167fc3f8f61911a1537261f77e2703626e158e299a98e341024ecaa26bbd1d884c6482604051611674919061326a565b60405180910390a26001600160a01b0382167f175deaa679c5cdab1525a1961772f2791ba9122b522490d1625beaf3ba3f638960008360058111156116bb576116bb6130a9565b604051911415815260200160405180910390a2610a226001600055565b80516020820120606090600090600081815260026020526040902060040154909150600160a01b900460ff166117205760405162461bcd60e51b815260040161060c90613444565b600081815260036020908152604080832080548251818502810185019093528083529193909284015b8282101561197e576000848152602090206040805160c08101909152600684029091018054829060ff166003811115611784576117846130a9565b6003811115611795576117956130a9565b81526020016001820180546117a99061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546117d59061346d565b80156118225780601f106117f757610100808354040283529160200191611822565b820191906000526020600020905b81548152906001019060200180831161180557829003601f168201915b5050505050815260200160028201805461183b9061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546118679061346d565b80156118b45780601f10611889576101008083540402835291602001916118b4565b820191906000526020600020905b81548152906001019060200180831161189757829003601f168201915b50505050508152602001600382015481526020016004820180546118d79061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546119039061346d565b80156119505780601f1061192557610100808354040283529160200191611950565b820191906000526020600020905b81548152906001019060200180831161193357829003601f168201915b5050509183525050600591909101546001600160a01b03166020918201529082526001929092019101611749565b50505050915050919050565b600260205260009081526040902080546001820180549192916119ac9061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546119d89061346d565b8015611a255780601f106119fa57610100808354040283529160200191611a25565b820191906000526020600020905b815481529060010190602001808311611a0857829003601f168201915b50505060028401546003850154600490950154939490939092506001600160a01b038116915060ff600160a01b8204811691600160a81b90041687565b611a6a612c12565b81516020830120600090600081815260026020526040902060040154909150600160a01b900460ff16611aaf5760405162461bcd60e51b815260040161060c90613444565b60008181526003602052604090208054611af85760405162461bcd60e51b815260206004820152600a6024820152694e6f207570646174657360b01b604482015260640161060c565b80548190611b08906001906133f7565b81548110611b1857611b1861340a565b600091825260209091206040805160c081019091526006909202018054829060ff166003811115611b4b57611b4b6130a9565b6003811115611b5c57611b5c6130a9565b8152602001600182018054611b709061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611b9c9061346d565b8015611be95780601f10611bbe57610100808354040283529160200191611be9565b820191906000526020600020905b815481529060010190602001808311611bcc57829003601f168201915b50505050508152602001600282018054611c029061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611c2e9061346d565b8015611c7b5780601f10611c5057610100808354040283529160200191611c7b565b820191906000526020600020905b815481529060010190602001808311611c5e57829003601f168201915b5050505050815260200160038201548152602001600482018054611c9e9061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611cca9061346d565b8015611d175780601f10611cec57610100808354040283529160200191611d17565b820191906000526020600020905b815481529060010190602001808311611cfa57829003601f168201915b5050509183525050600591909101546001600160a01b0316602090910152949350505050565b6005546000908210611d815760405162461bcd60e51b815260206004820152600d60248201526c4f7574206f6620626f756e647360981b604482015260640161060c565b60058281548110611d9457611d9461340a565b90600052602060002001549050919050565b6000818152600260205260409020600401546060908290600160a01b900460ff16611de35760405162461bcd60e51b815260040161060c90613444565b600083815260036020908152604080832080548251818502810185019093528083529193909284015b8282101561197e576000848152602090206040805160c08101909152600684029091018054829060ff166003811115611e4757611e476130a9565b6003811115611e5857611e586130a9565b8152602001600182018054611e6c9061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611e989061346d565b8015611ee55780601f10611eba57610100808354040283529160200191611ee5565b820191906000526020600020905b815481529060010190602001808311611ec857829003601f168201915b50505050508152602001600282018054611efe9061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611f2a9061346d565b8015611f775780601f10611f4c57610100808354040283529160200191611f77565b820191906000526020600020905b815481529060010190602001808311611f5a57829003601f168201915b5050505050815260200160038201548152602001600482018054611f9a9061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611fc69061346d565b80156120135780601f10611fe857610100808354040283529160200191612013565b820191906000526020600020905b815481529060010190602001808311611ff657829003601f168201915b5050509183525050600591909101546001600160a01b03166020918201529082526001929092019101611e0c565b50919050565b6003602052816000526040600020818154811061206357600080fd5b60009182526020909120600690910201805460018201805460ff909216945091925061208e9061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546120ba9061346d565b80156121075780601f106120dc57610100808354040283529160200191612107565b820191906000526020600020905b8154815290600101906020018083116120ea57829003601f168201915b50505050509080600201805461211c9061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546121489061346d565b80156121955780601f1061216a57610100808354040283529160200191612195565b820191906000526020600020905b81548152906001019060200180831161217857829003601f168201915b5050505050908060030154908060040180546121b09061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546121dc9061346d565b80156122295780601f106121fe57610100808354040283529160200191612229565b820191906000526020600020905b81548152906001019060200180831161220c57829003601f168201915b505050600590930154919250506001600160a01b031686565b61224a612c12565b6000828152600260205260409020600401548290600160a01b900460ff166122845760405162461bcd60e51b815260040161060c90613444565b60008381526003602052604090208054611af85760405162461bcd60e51b815260206004820152600a6024820152694e6f207570646174657360b01b604482015260640161060c565b60008084846040516122e09291906133d1565b604080519182900390912060008181526009602052919091208054919250906123435760405162461bcd60e51b81526020600482015260156024820152744e6f207072696365206f62736572766174696f6e7360581b604482015260640161060c565b600084156123515784612355565b6107085b9050600081116123985760405162461bcd60e51b815260206004820152600e60248201526d496e76616c69642077696e646f7760901b604482015260640161060c565b4260006123a583836133f7565b8454909150600090819084905b801561247c576000886123c66001846133f7565b815481106123d6576123d661340a565b90600052602060002090600202019050828160010154106123f7575061246a565b60008682600101541161240a5786612410565b81600101545b90508084111561245057600061242682866133f7565b83549091506124369082906136d8565b61244090886136ef565b965061244c81876136ef565b9550505b8682600101541161246257505061247c565b506001015491505b8061247481613702565b9150506123b2565b50600082116124cd5760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e74206f62736572766174696f6e7300000000000000604482015260640161060c565b6124d78284613719565b9c9b505050505050505050505050565b3360009081526004602052604081205460ff16600581111561250b5761250b6130a9565b036125285760405162461bcd60e51b815260040161060c9061337f565b3360009081526004602052604090205460ff16600281600581111561254f5761254f6130a9565b148061256c5750600581600581111561256a5761256a6130a9565b145b6125885760405162461bcd60e51b815260040161060c906133a7565b6125906128f1565b612598612939565b600034116125dd5760405162461bcd60e51b81526020600482015260126024820152710416d6f756e74206d757374206265203e20360741b604482015260640161060c565b33600090815260076020526040812080543492906125fc9084906136ef565b92505081905550346008600082825461261591906136ef565b909155505060405134815233907f7ff07ce9a287649537e4b012e45cf012d90228b12e2b56bb03515a6b5436fcdf90602001610b67565b600080838360405161265f9291906133d1565b60408051918290039091206000908152600960205220549150505b92915050565b6006546001600160a01b031633146126aa5760405162461bcd60e51b815260040161060c90613420565b6126b2612939565b6001600160a01b0381166126fa5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161060c565b600680546001600160a01b031981166001600160a01b03848116918217909355600081815260046020526040808220805460ff19166005179055519390921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350610b796001600055565b6040805160e0810182526000808252606060208084018290528385018390529083018290526080830182905260a0830182905260c08301829052845185820120808352600290915292902060040154909190600160a01b900460ff166127e55760405162461bcd60e51b815260040161060c90613444565b600260008281526020019081526020016000206040518060e00160405290816000820154815260200160018201805461281d9061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546128499061346d565b80156128965780601f1061286b57610100808354040283529160200191612896565b820191906000526020600020905b81548152906001019060200180831161287957829003601f168201915b505050918352505060028201546020820152600382015460408201526004909101546001600160a01b038116606083015260ff600160a01b8204811615156080840152600160a81b90910416151560a0909101529392505050565b60015460ff16156129375760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161060c565b565b60026000540361298b5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161060c565b6002600055565b61299a6128f1565b6001805460ff1916811790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258906020015b60405180910390a1565b6129e4612bc9565b6001805460ff191690556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020016129d2565b600082815260036020526040812080548203612a51576000836003811115612a4857612a486130a9565b1491505061267a565b80546000908290612a64906001906133f7565b81548110612a7457612a7461340a565b600091825260209091206006909102015460ff169050806003811115612a9c57612a9c6130a9565b612aa79060016136ef565b846003811115612ab957612ab96130a9565b1495945050505050565b600080836003811115612ad857612ad86130a9565b148015612af657506001826005811115612af457612af46130a9565b145b15612b035750600161267a565b6001836003811115612b1757612b176130a9565b148015612b3557506002826005811115612b3357612b336130a9565b145b15612b425750600161267a565b6002836003811115612b5657612b566130a9565b148015612b7457506003826005811115612b7257612b726130a9565b145b15612b815750600161267a565b6003836003811115612b9557612b956130a9565b148015612bb357506004826005811115612bb157612bb16130a9565b145b15612bc05750600161267a565b50600092915050565b60015460ff166129375760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161060c565b6040805160c0810190915280600081526020016060815260200160608152602001600081526020016060815260200160006001600160a01b031681525090565b60008083601f840112612c6457600080fd5b50813567ffffffffffffffff811115612c7c57600080fd5b602083019150836020828501011115610ae357600080fd5b600080600060408486031215612ca957600080fd5b833567ffffffffffffffff811115612cc057600080fd5b612ccc86828701612c52565b909790965060209590950135949350505050565b600060208284031215612cf257600080fd5b5035919050565b60008060208385031215612d0c57600080fd5b823567ffffffffffffffff811115612d2357600080fd5b612d2f85828601612c52565b90969095509350505050565b600060208284031215612d4d57600080fd5b81358015158114612d5d57600080fd5b9392505050565b80356001600160a01b0381168114612d7b57600080fd5b919050565b600060208284031215612d9257600080fd5b612d5d82612d64565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612dc257600080fd5b813567ffffffffffffffff80821115612ddd57612ddd612d9b565b604051601f8301601f19908116603f01168101908282118183101715612e0557612e05612d9b565b81604052838152866020858801011115612e1e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a08688031215612e5657600080fd5b85359450602086013560048110612e6c57600080fd5b9350604086013567ffffffffffffffff80821115612e8957600080fd5b612e9589838a01612db1565b94506060880135915080821115612eab57600080fd5b612eb789838a01612db1565b93506080880135915080821115612ecd57600080fd5b50612eda88828901612db1565b9150509295509295909350565b60008060008060008060008060006101208a8c031215612f0657600080fd5b893567ffffffffffffffff80821115612f1e57600080fd5b612f2a8d838e01612db1565b9a5060208c0135915080821115612f4057600080fd5b612f4c8d838e01612db1565b995060408c0135915080821115612f6257600080fd5b612f6e8d838e01612db1565b985060608c0135915080821115612f8457600080fd5b612f908d838e01612db1565b975060808c0135965060a08c0135915080821115612fad57600080fd5b612fb98d838e01612db1565b955060c08c0135915080821115612fcf57600080fd5b612fdb8d838e01612db1565b945060e08c0135915080821115612ff157600080fd5b612ffd8d838e01612db1565b93506101008c013591508082111561301457600080fd5b506130218c828d01612db1565b9150509295985092959850929598565b60006020828403121561304357600080fd5b813567ffffffffffffffff81111561305a57600080fd5b61306684828501612db1565b949350505050565b6000806040838503121561308157600080fd5b61308a83612d64565b915060208301356006811061309e57600080fd5b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b600481106130cf576130cf6130a9565b9052565b60005b838110156130ee5781810151838201526020016130d6565b50506000910152565b6000815180845261310f8160208601602086016130d3565b601f01601f19169290920160200192915050565b61312e8282516130bf565b6000602082015160c0602085015261314960c08501826130f7565b90506040830151848203604086015261316282826130f7565b915050606083015160608501526080830151848203608086015261318682826130f7565b60a0948501516001600160a01b03169590940194909452509092915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156131fa57603f198886030184526131e8858351613123565b945092850192908501906001016131cc565b5092979650505050505050565b87815260e06020820152600061322060e08301896130f7565b60408301979097525060608101949094526001600160a01b03929092166080840152151560a0830152151560c09091015292915050565b602081526000612d5d6020830184613123565b602081016006831061327e5761327e6130a9565b91905290565b6000806040838503121561329757600080fd5b50508035926020909101359150565b6132b081886130bf565b60c0602082015260006132c660c08301886130f7565b82810360408401526132d881886130f7565b905085606084015282810360808401526132f281866130f7565b91505060018060a01b03831660a0830152979650505050505050565b60208152815160208201526000602083015160e060408401526133356101008401826130f7565b9050604084015160608401526060840151608084015260018060a01b0360808501511660a084015260a0840151151560c084015260c0840151151560e08401528091505092915050565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b60208082526010908201526f4d616e64692f41646d696e206f6e6c7960801b604082015260600190565b8183823760009101908152919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561267a5761267a6133e1565b634e487b7160e01b600052603260045260246000fd5b6020808252600a908201526927b7363c9037bbb732b960b11b604082015260600190565b6020808252600f908201526e10985d18da081b9bdd08199bdd5b99608a1b604082015260600190565b600181811c9082168061348157607f821691505b60208210810361204157634e487b7160e01b600052602260045260246000fd5b601f8211156134eb57600081815260208120601f850160051c810160208610156134c85750805b601f850160051c820191505b818110156134e7578281556001016134d4565b5050505b505050565b815167ffffffffffffffff81111561350a5761350a612d9b565b61351e81613518845461346d565b846134a1565b602080601f831160018114613553576000841561353b5750858301515b600019600386901b1c1916600185901b1785556134e7565b600085815260208120601f198616915b8281101561358257888601518255948401946001909101908401613563565b50858210156135a05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6135ba81856130bf565b6060602082015260006135d060608301856130f7565b82810360408401526135e281856130f7565b9695505050505050565b6421b937b81d60d91b81526000855161360c816005850160208a016130d3565b691d902430b93b32b9ba1d60b11b600591840191820152855161363681600f840160208a016130d3565b6c1d902330b936b2b920b232391d60991b600f9290910191820152845161366481601c8401602089016130d3565b661d9021b2b93a1d60c91b601c9290910191820152835161368c8160238401602088016130d3565b016023019695505050505050565b6040815260006136ad60408301856130f7565b90508260208301529392505050565b600082516136ce8184602087016130d3565b9190910192915050565b808202811582820484141761267a5761267a6133e1565b8082018082111561267a5761267a6133e1565b600081613711576137116133e1565b506000190190565b60008261373657634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220feef4e7d83f8056607b8e16cc35d26da52d1e6c2ccdaf24d0d9baa7268392ca264736f6c63430008130033", + "deployedBytecode": "0x6080604052600436106101c25760003560e01c80638da5cb5b116100f7578063aa68b48e11610095578063e3bd286711610064578063e3bd28671461055e578063e561dddc146104af578063f2fde38b1461057e578063f9ca42741461059e57600080fd5b8063aa68b48e146104e4578063ab00501114610516578063b0a6295714610536578063ca593c591461055657600080fd5b806399374642116100d15780639937464214610452578063a0b6041d1461048f578063a8fabfa5146104af578063a9437275146104c457600080fd5b80638da5cb5b146103ba578063906ddff1146103f257806395e468021461042557600080fd5b806336214a1c11610164578063571c3e601161013e578063571c3e60146103345780635c975abb146103545780635fcb212014610377578063716da2951461038d57600080fd5b806336214a1c146102d45780633d41eda1146102f4578063529691871461031457600080fd5b806315770f92116101a057806315770f921461024357806316c38b3c14610267578063290b17ec1461028757806332fc2162146102a757600080fd5b806308ec1ee8146101c75780630a861f2a146101e957806311459ad214610209575b600080fd5b3480156101d357600080fd5b506101e76101e2366004612c94565b6105cb565b005b3480156101f557600080fd5b506101e7610204366004612ce0565b6107d4565b34801561021557600080fd5b50610229610224366004612cf9565b610a26565b604080519283526020830191909152015b60405180910390f35b34801561024f57600080fd5b5061025960085481565b60405190815260200161023a565b34801561027357600080fd5b506101e7610282366004612d3b565b610aea565b34801561029357600080fd5b506102596102a2366004612ce0565b610b7c565b3480156102b357600080fd5b506102596102c2366004612d80565b60076020526000908152604090205481565b3480156102e057600080fd5b506101e76102ef366004612e3e565b610b9d565b34801561030057600080fd5b506101e761030f366004612ee7565b610f56565b34801561032057600080fd5b506101e761032f366004613031565b6114a3565b34801561034057600080fd5b506101e761034f36600461306e565b611587565b34801561036057600080fd5b5060015460ff16604051901515815260200161023a565b34801561038357600080fd5b5061025961070881565b34801561039957600080fd5b506103ad6103a8366004613031565b6116d8565b60405161023a91906131a5565b3480156103c657600080fd5b506006546103da906001600160a01b031681565b6040516001600160a01b03909116815260200161023a565b3480156103fe57600080fd5b5061041261040d366004612ce0565b61198a565b60405161023a9796959493929190613207565b34801561043157600080fd5b50610445610440366004613031565b611a62565b60405161023a9190613257565b34801561045e57600080fd5b5061048261046d366004612d80565b60046020526000908152604090205460ff1681565b60405161023a919061326a565b34801561049b57600080fd5b506102596104aa366004612ce0565b611d3d565b3480156104bb57600080fd5b50600554610259565b3480156104d057600080fd5b506103ad6104df366004612ce0565b611da6565b3480156104f057600080fd5b506105046104ff366004613284565b612047565b60405161023a969594939291906132a6565b34801561052257600080fd5b50610445610531366004612ce0565b612242565b34801561054257600080fd5b50610259610551366004612c94565b6122cd565b6101e76124e7565b34801561056a57600080fd5b50610259610579366004612cf9565b61264c565b34801561058a57600080fd5b506101e7610599366004612d80565b612680565b3480156105aa57600080fd5b506105be6105b9366004613031565b61276d565b60405161023a919061330e565b3360009081526004602052604081205460ff1660058111156105ef576105ef6130a9565b036106155760405162461bcd60e51b815260040161060c9061337f565b60405180910390fd5b3360009081526004602052604090205460ff16600281600581111561063c5761063c6130a9565b148061065957506005816005811115610657576106576130a9565b145b6106755760405162461bcd60e51b815260040161060c906133a7565b61067d6128f1565b610685612939565b826106ce5760405162461bcd60e51b815260206004820152601960248201527843726f7020747970652063616e6e6f7420626520656d70747960381b604482015260640161060c565b600082116107125760405162461bcd60e51b815260206004820152601160248201527005072696365206d757374206265203e203607c1b604482015260640161060c565b600084846040516107249291906133d1565b604080519182900382206000818152600960209081528382208585018552888652428287019081528154600181810184559285529290932095516002909202909501908155905193019290925551909150339061078490879087906133d1565b60408051918290038220868352426020840152917f0a48ce64d777e75fe5538daad7210e5f17aa7af207060a3ca17543550e22a030910160405180910390a3506107ce6001600055565b50505050565b3360009081526004602052604081205460ff1660058111156107f8576107f86130a9565b036108155760405162461bcd60e51b815260040161060c9061337f565b3360009081526004602052604090205460ff16600281600581111561083c5761083c6130a9565b148061085957506005816005811115610857576108576130a9565b145b6108755760405162461bcd60e51b815260040161060c906133a7565b61087d6128f1565b610885612939565b600082116108ca5760405162461bcd60e51b81526020600482015260126024820152710416d6f756e74206d757374206265203e20360741b604482015260640161060c565b33600090815260076020526040902054828110156109235760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e74206c697175696469747960501b604482015260640161060c565b61092d83826133f7565b33600090815260076020526040812091909155600880548592906109529084906133f7565b9091555050604051600090339085908381818185875af1925050503d8060008114610999576040519150601f19603f3d011682016040523d82523d6000602084013e61099e565b606091505b50509050806109e15760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161060c565b60405184815233907fb1cce8684b4ffa8667b4577654e61ee3480d661ee9c27522ac80e211f6bd4d259060200160405180910390a25050610a226001600055565b5050565b60008060008484604051610a3b9291906133d1565b60408051918290039091206000818152600960205291909120805491925090610a9e5760405162461bcd60e51b81526020600482015260156024820152744e6f207072696365206f62736572766174696f6e7360581b604482015260640161060c565b80546000908290610ab1906001906133f7565b81548110610ac157610ac161340a565b9060005260206000209060020201905080600001548160010154945094505050505b9250929050565b6006546001600160a01b03163314610b145760405162461bcd60e51b815260040161060c90613420565b610b1c612939565b8015610b2f57610b2a612992565b610b37565b610b376129dc565b604051811515815233907fe7f645cfca4612e1136cf53cc61a2028d41f30a9bd510c8c467671ee3d4ec83d906020015b60405180910390a2610b796001600055565b50565b60058181548110610b8c57600080fd5b600091825260209091200154905081565b3360009081526004602052604081205460ff166005811115610bc157610bc16130a9565b03610bde5760405162461bcd60e51b815260040161060c9061337f565b610be66128f1565b610bee612939565b6000858152600260205260409020600401548590600160a01b900460ff16610c285760405162461bcd60e51b815260040161060c90613444565b336000908152600460208181526040808420548a85526002909252909220015460ff91821691600160a81b9091041615610c985760405162461bcd60e51b815260206004820152601160248201527010985d18da081a5cc81c9958d85b1b1959607a1b604482015260640161060c565b6000855111610ce15760405162461bcd60e51b81526020600482015260156024820152744163746f722063616e6e6f7420626520656d70747960581b604482015260640161060c565b6000845111610d325760405162461bcd60e51b815260206004820152601860248201527f4c6f636174696f6e2063616e6e6f7420626520656d7074790000000000000000604482015260640161060c565b610d3c8787612a1e565b610d885760405162461bcd60e51b815260206004820152601860248201527f496e76616c6964207374616765207472616e736974696f6e0000000000000000604482015260640161060c565b6005816005811115610d9c57610d9c6130a9565b1480610dad5750610dad8682612ac3565b610df95760405162461bcd60e51b815260206004820152601d60248201527f526f6c652063616e6e6f74207570646174652074686973207374616765000000604482015260640161060c565b600360008881526020019081526020016000206040518060c00160405280886003811115610e2957610e296130a9565b8152602080820189905260408201889052426060830152608082018790523360a09092019190915282546001818101855560009485529190932082516006909402018054929390929091839160ff191690836003811115610e8c57610e8c6130a9565b021790555060208201516001820190610ea590826134f0565b5060408201516002820190610eba90826134f0565b506060820151600382015560808201516004820190610ed990826134f0565b5060a09190910151600590910180546001600160a01b0319166001600160a01b03909216919091179055604051339088907f2cefceaa731c274adf2f7bd3b3237d2e06cb4fe59bd62d9ea2055287a132d36490610f3b908a908a908a906135b0565b60405180910390a35050610f4f6001600055565b5050505050565b3360009081526004602052604081205460ff166005811115610f7a57610f7a6130a9565b03610f975760405162461bcd60e51b815260040161060c9061337f565b610f9f6128f1565b610fa7612939565b885160208a0120600090600081815260026020526040902060040154909150600160a01b900460ff16156110145760405162461bcd60e51b8152602060048201526014602482015273426174636820616c72656164792065786973747360601b604482015260640161060c565b60008a51116110655760405162461bcd60e51b815260206004820152601860248201527f42617463682049442063616e6e6f7420626520656d7074790000000000000000604482015260640161060c565b60008951116110b65760405162461bcd60e51b815260206004820152601b60248201527f4661726d6572206e616d652063616e6e6f7420626520656d7074790000000000604482015260640161060c565b60008851116111075760405162461bcd60e51b815260206004820152601e60248201527f4661726d657220616464726573732063616e6e6f7420626520656d7074790000604482015260640161060c565b60008751116111545760405162461bcd60e51b815260206004820152601960248201527843726f7020747970652063616e6e6f7420626520656d70747960381b604482015260640161060c565b60008551116111a55760405162461bcd60e51b815260206004820152601c60248201527f4861727665737420646174652063616e6e6f7420626520656d70747900000000604482015260640161060c565b60008451116111ef5760405162461bcd60e51b81526020600482015260166024820152754f726967696e2063616e6e6f7420626520656d70747960501b604482015260640161060c565b6000861161123f5760405162461bcd60e51b815260206004820152601f60248201527f5175616e74697479206d7573742062652067726561746572207468616e203000604482015260640161060c565b6040805160e08101825282815260208082018581528284018a9052426060840152336080840152600160a08401819052600060c08501819052868152600290935293909120825181559051859382019061129990826134f0565b506040828101516002830155606083015160038084019190915560808401516004909301805460a086015160c0968701511515600160a81b0260ff60a81b19911515600160a01b026001600160a81b03199093166001600160a01b0390971696909617919091171693909317909255600085815260209290925280822081519384019091529190819081526020018c81526020018781526020014281526020018a898d8960405160200161135094939291906135ec565b60408051601f1981840301815291905281523360209182015282546001818101855560009485529190932082516006909402018054929390929091839160ff1916908360038111156113a4576113a46130a9565b0217905550602082015160018201906113bd90826134f0565b50604082015160028201906113d290826134f0565b5060608201516003820155608082015160048201906113f190826134f0565b5060a09190910151600591820180546001600160a01b0319166001600160a01b0390921691909117905580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001829055604051339083907f1e548d6c3fb449f78f5b7457156dcfb300cbb65d12a4038b334b6bfbdba95738906114849085908c9061369a565b60405180910390a350506114986001600055565b505050505050505050565b6006546001600160a01b031633146114cd5760405162461bcd60e51b815260040161060c90613420565b6114d5612939565b80516020820120600090600081815260026020526040902060040154909150600160a01b900460ff1661151a5760405162461bcd60e51b815260040161060c90613444565b60008181526002602052604090819020600401805460ff60a81b1916600160a81b17905551339061154c9084906136bc565b604051908190038120907f423ae59b8825a6f0d6872201b0102d5bc3ff543cca72ddf16d2e4d698fc9898b90600090a350610b796001600055565b6006546001600160a01b031633146115b15760405162461bcd60e51b815260040161060c90613420565b6115b9612939565b6001600160a01b0382166116015760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161060c565b6001600160a01b0382166000908152600460205260409020805482919060ff19166001836005811115611636576116366130a9565b0217905550816001600160a01b03167fc3f8f61911a1537261f77e2703626e158e299a98e341024ecaa26bbd1d884c6482604051611674919061326a565b60405180910390a26001600160a01b0382167f175deaa679c5cdab1525a1961772f2791ba9122b522490d1625beaf3ba3f638960008360058111156116bb576116bb6130a9565b604051911415815260200160405180910390a2610a226001600055565b80516020820120606090600090600081815260026020526040902060040154909150600160a01b900460ff166117205760405162461bcd60e51b815260040161060c90613444565b600081815260036020908152604080832080548251818502810185019093528083529193909284015b8282101561197e576000848152602090206040805160c08101909152600684029091018054829060ff166003811115611784576117846130a9565b6003811115611795576117956130a9565b81526020016001820180546117a99061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546117d59061346d565b80156118225780601f106117f757610100808354040283529160200191611822565b820191906000526020600020905b81548152906001019060200180831161180557829003601f168201915b5050505050815260200160028201805461183b9061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546118679061346d565b80156118b45780601f10611889576101008083540402835291602001916118b4565b820191906000526020600020905b81548152906001019060200180831161189757829003601f168201915b50505050508152602001600382015481526020016004820180546118d79061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546119039061346d565b80156119505780601f1061192557610100808354040283529160200191611950565b820191906000526020600020905b81548152906001019060200180831161193357829003601f168201915b5050509183525050600591909101546001600160a01b03166020918201529082526001929092019101611749565b50505050915050919050565b600260205260009081526040902080546001820180549192916119ac9061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546119d89061346d565b8015611a255780601f106119fa57610100808354040283529160200191611a25565b820191906000526020600020905b815481529060010190602001808311611a0857829003601f168201915b50505060028401546003850154600490950154939490939092506001600160a01b038116915060ff600160a01b8204811691600160a81b90041687565b611a6a612c12565b81516020830120600090600081815260026020526040902060040154909150600160a01b900460ff16611aaf5760405162461bcd60e51b815260040161060c90613444565b60008181526003602052604090208054611af85760405162461bcd60e51b815260206004820152600a6024820152694e6f207570646174657360b01b604482015260640161060c565b80548190611b08906001906133f7565b81548110611b1857611b1861340a565b600091825260209091206040805160c081019091526006909202018054829060ff166003811115611b4b57611b4b6130a9565b6003811115611b5c57611b5c6130a9565b8152602001600182018054611b709061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611b9c9061346d565b8015611be95780601f10611bbe57610100808354040283529160200191611be9565b820191906000526020600020905b815481529060010190602001808311611bcc57829003601f168201915b50505050508152602001600282018054611c029061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611c2e9061346d565b8015611c7b5780601f10611c5057610100808354040283529160200191611c7b565b820191906000526020600020905b815481529060010190602001808311611c5e57829003601f168201915b5050505050815260200160038201548152602001600482018054611c9e9061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611cca9061346d565b8015611d175780601f10611cec57610100808354040283529160200191611d17565b820191906000526020600020905b815481529060010190602001808311611cfa57829003601f168201915b5050509183525050600591909101546001600160a01b0316602090910152949350505050565b6005546000908210611d815760405162461bcd60e51b815260206004820152600d60248201526c4f7574206f6620626f756e647360981b604482015260640161060c565b60058281548110611d9457611d9461340a565b90600052602060002001549050919050565b6000818152600260205260409020600401546060908290600160a01b900460ff16611de35760405162461bcd60e51b815260040161060c90613444565b600083815260036020908152604080832080548251818502810185019093528083529193909284015b8282101561197e576000848152602090206040805160c08101909152600684029091018054829060ff166003811115611e4757611e476130a9565b6003811115611e5857611e586130a9565b8152602001600182018054611e6c9061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611e989061346d565b8015611ee55780601f10611eba57610100808354040283529160200191611ee5565b820191906000526020600020905b815481529060010190602001808311611ec857829003601f168201915b50505050508152602001600282018054611efe9061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611f2a9061346d565b8015611f775780601f10611f4c57610100808354040283529160200191611f77565b820191906000526020600020905b815481529060010190602001808311611f5a57829003601f168201915b5050505050815260200160038201548152602001600482018054611f9a9061346d565b80601f0160208091040260200160405190810160405280929190818152602001828054611fc69061346d565b80156120135780601f10611fe857610100808354040283529160200191612013565b820191906000526020600020905b815481529060010190602001808311611ff657829003601f168201915b5050509183525050600591909101546001600160a01b03166020918201529082526001929092019101611e0c565b50919050565b6003602052816000526040600020818154811061206357600080fd5b60009182526020909120600690910201805460018201805460ff909216945091925061208e9061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546120ba9061346d565b80156121075780601f106120dc57610100808354040283529160200191612107565b820191906000526020600020905b8154815290600101906020018083116120ea57829003601f168201915b50505050509080600201805461211c9061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546121489061346d565b80156121955780601f1061216a57610100808354040283529160200191612195565b820191906000526020600020905b81548152906001019060200180831161217857829003601f168201915b5050505050908060030154908060040180546121b09061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546121dc9061346d565b80156122295780601f106121fe57610100808354040283529160200191612229565b820191906000526020600020905b81548152906001019060200180831161220c57829003601f168201915b505050600590930154919250506001600160a01b031686565b61224a612c12565b6000828152600260205260409020600401548290600160a01b900460ff166122845760405162461bcd60e51b815260040161060c90613444565b60008381526003602052604090208054611af85760405162461bcd60e51b815260206004820152600a6024820152694e6f207570646174657360b01b604482015260640161060c565b60008084846040516122e09291906133d1565b604080519182900390912060008181526009602052919091208054919250906123435760405162461bcd60e51b81526020600482015260156024820152744e6f207072696365206f62736572766174696f6e7360581b604482015260640161060c565b600084156123515784612355565b6107085b9050600081116123985760405162461bcd60e51b815260206004820152600e60248201526d496e76616c69642077696e646f7760901b604482015260640161060c565b4260006123a583836133f7565b8454909150600090819084905b801561247c576000886123c66001846133f7565b815481106123d6576123d661340a565b90600052602060002090600202019050828160010154106123f7575061246a565b60008682600101541161240a5786612410565b81600101545b90508084111561245057600061242682866133f7565b83549091506124369082906136d8565b61244090886136ef565b965061244c81876136ef565b9550505b8682600101541161246257505061247c565b506001015491505b8061247481613702565b9150506123b2565b50600082116124cd5760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e74206f62736572766174696f6e7300000000000000604482015260640161060c565b6124d78284613719565b9c9b505050505050505050505050565b3360009081526004602052604081205460ff16600581111561250b5761250b6130a9565b036125285760405162461bcd60e51b815260040161060c9061337f565b3360009081526004602052604090205460ff16600281600581111561254f5761254f6130a9565b148061256c5750600581600581111561256a5761256a6130a9565b145b6125885760405162461bcd60e51b815260040161060c906133a7565b6125906128f1565b612598612939565b600034116125dd5760405162461bcd60e51b81526020600482015260126024820152710416d6f756e74206d757374206265203e20360741b604482015260640161060c565b33600090815260076020526040812080543492906125fc9084906136ef565b92505081905550346008600082825461261591906136ef565b909155505060405134815233907f7ff07ce9a287649537e4b012e45cf012d90228b12e2b56bb03515a6b5436fcdf90602001610b67565b600080838360405161265f9291906133d1565b60408051918290039091206000908152600960205220549150505b92915050565b6006546001600160a01b031633146126aa5760405162461bcd60e51b815260040161060c90613420565b6126b2612939565b6001600160a01b0381166126fa5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161060c565b600680546001600160a01b031981166001600160a01b03848116918217909355600081815260046020526040808220805460ff19166005179055519390921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350610b796001600055565b6040805160e0810182526000808252606060208084018290528385018390529083018290526080830182905260a0830182905260c08301829052845185820120808352600290915292902060040154909190600160a01b900460ff166127e55760405162461bcd60e51b815260040161060c90613444565b600260008281526020019081526020016000206040518060e00160405290816000820154815260200160018201805461281d9061346d565b80601f01602080910402602001604051908101604052809291908181526020018280546128499061346d565b80156128965780601f1061286b57610100808354040283529160200191612896565b820191906000526020600020905b81548152906001019060200180831161287957829003601f168201915b505050918352505060028201546020820152600382015460408201526004909101546001600160a01b038116606083015260ff600160a01b8204811615156080840152600160a81b90910416151560a0909101529392505050565b60015460ff16156129375760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161060c565b565b60026000540361298b5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161060c565b6002600055565b61299a6128f1565b6001805460ff1916811790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258906020015b60405180910390a1565b6129e4612bc9565b6001805460ff191690556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020016129d2565b600082815260036020526040812080548203612a51576000836003811115612a4857612a486130a9565b1491505061267a565b80546000908290612a64906001906133f7565b81548110612a7457612a7461340a565b600091825260209091206006909102015460ff169050806003811115612a9c57612a9c6130a9565b612aa79060016136ef565b846003811115612ab957612ab96130a9565b1495945050505050565b600080836003811115612ad857612ad86130a9565b148015612af657506001826005811115612af457612af46130a9565b145b15612b035750600161267a565b6001836003811115612b1757612b176130a9565b148015612b3557506002826005811115612b3357612b336130a9565b145b15612b425750600161267a565b6002836003811115612b5657612b566130a9565b148015612b7457506003826005811115612b7257612b726130a9565b145b15612b815750600161267a565b6003836003811115612b9557612b956130a9565b148015612bb357506004826005811115612bb157612bb16130a9565b145b15612bc05750600161267a565b50600092915050565b60015460ff166129375760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161060c565b6040805160c0810190915280600081526020016060815260200160608152602001600081526020016060815260200160006001600160a01b031681525090565b60008083601f840112612c6457600080fd5b50813567ffffffffffffffff811115612c7c57600080fd5b602083019150836020828501011115610ae357600080fd5b600080600060408486031215612ca957600080fd5b833567ffffffffffffffff811115612cc057600080fd5b612ccc86828701612c52565b909790965060209590950135949350505050565b600060208284031215612cf257600080fd5b5035919050565b60008060208385031215612d0c57600080fd5b823567ffffffffffffffff811115612d2357600080fd5b612d2f85828601612c52565b90969095509350505050565b600060208284031215612d4d57600080fd5b81358015158114612d5d57600080fd5b9392505050565b80356001600160a01b0381168114612d7b57600080fd5b919050565b600060208284031215612d9257600080fd5b612d5d82612d64565b634e487b7160e01b600052604160045260246000fd5b600082601f830112612dc257600080fd5b813567ffffffffffffffff80821115612ddd57612ddd612d9b565b604051601f8301601f19908116603f01168101908282118183101715612e0557612e05612d9b565b81604052838152866020858801011115612e1e57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a08688031215612e5657600080fd5b85359450602086013560048110612e6c57600080fd5b9350604086013567ffffffffffffffff80821115612e8957600080fd5b612e9589838a01612db1565b94506060880135915080821115612eab57600080fd5b612eb789838a01612db1565b93506080880135915080821115612ecd57600080fd5b50612eda88828901612db1565b9150509295509295909350565b60008060008060008060008060006101208a8c031215612f0657600080fd5b893567ffffffffffffffff80821115612f1e57600080fd5b612f2a8d838e01612db1565b9a5060208c0135915080821115612f4057600080fd5b612f4c8d838e01612db1565b995060408c0135915080821115612f6257600080fd5b612f6e8d838e01612db1565b985060608c0135915080821115612f8457600080fd5b612f908d838e01612db1565b975060808c0135965060a08c0135915080821115612fad57600080fd5b612fb98d838e01612db1565b955060c08c0135915080821115612fcf57600080fd5b612fdb8d838e01612db1565b945060e08c0135915080821115612ff157600080fd5b612ffd8d838e01612db1565b93506101008c013591508082111561301457600080fd5b506130218c828d01612db1565b9150509295985092959850929598565b60006020828403121561304357600080fd5b813567ffffffffffffffff81111561305a57600080fd5b61306684828501612db1565b949350505050565b6000806040838503121561308157600080fd5b61308a83612d64565b915060208301356006811061309e57600080fd5b809150509250929050565b634e487b7160e01b600052602160045260246000fd5b600481106130cf576130cf6130a9565b9052565b60005b838110156130ee5781810151838201526020016130d6565b50506000910152565b6000815180845261310f8160208601602086016130d3565b601f01601f19169290920160200192915050565b61312e8282516130bf565b6000602082015160c0602085015261314960c08501826130f7565b90506040830151848203604086015261316282826130f7565b915050606083015160608501526080830151848203608086015261318682826130f7565b60a0948501516001600160a01b03169590940194909452509092915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156131fa57603f198886030184526131e8858351613123565b945092850192908501906001016131cc565b5092979650505050505050565b87815260e06020820152600061322060e08301896130f7565b60408301979097525060608101949094526001600160a01b03929092166080840152151560a0830152151560c09091015292915050565b602081526000612d5d6020830184613123565b602081016006831061327e5761327e6130a9565b91905290565b6000806040838503121561329757600080fd5b50508035926020909101359150565b6132b081886130bf565b60c0602082015260006132c660c08301886130f7565b82810360408401526132d881886130f7565b905085606084015282810360808401526132f281866130f7565b91505060018060a01b03831660a0830152979650505050505050565b60208152815160208201526000602083015160e060408401526133356101008401826130f7565b9050604084015160608401526060840151608084015260018060a01b0360808501511660a084015260a0840151151560c084015260c0840151151560e08401528091505092915050565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b60208082526010908201526f4d616e64692f41646d696e206f6e6c7960801b604082015260600190565b8183823760009101908152919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561267a5761267a6133e1565b634e487b7160e01b600052603260045260246000fd5b6020808252600a908201526927b7363c9037bbb732b960b11b604082015260600190565b6020808252600f908201526e10985d18da081b9bdd08199bdd5b99608a1b604082015260600190565b600181811c9082168061348157607f821691505b60208210810361204157634e487b7160e01b600052602260045260246000fd5b601f8211156134eb57600081815260208120601f850160051c810160208610156134c85750805b601f850160051c820191505b818110156134e7578281556001016134d4565b5050505b505050565b815167ffffffffffffffff81111561350a5761350a612d9b565b61351e81613518845461346d565b846134a1565b602080601f831160018114613553576000841561353b5750858301515b600019600386901b1c1916600185901b1785556134e7565b600085815260208120601f198616915b8281101561358257888601518255948401946001909101908401613563565b50858210156135a05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6135ba81856130bf565b6060602082015260006135d060608301856130f7565b82810360408401526135e281856130f7565b9695505050505050565b6421b937b81d60d91b81526000855161360c816005850160208a016130d3565b691d902430b93b32b9ba1d60b11b600591840191820152855161363681600f840160208a016130d3565b6c1d902330b936b2b920b232391d60991b600f9290910191820152845161366481601c8401602089016130d3565b661d9021b2b93a1d60c91b601c9290910191820152835161368c8160238401602088016130d3565b016023019695505050505050565b6040815260006136ad60408301856130f7565b90508260208301529392505050565b600082516136ce8184602087016130d3565b9190910192915050565b808202811582820484141761267a5761267a6133e1565b8082018082111561267a5761267a6133e1565b600081613711576137116133e1565b506000190190565b60008261373657634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220feef4e7d83f8056607b8e16cc35d26da52d1e6c2ccdaf24d0d9baa7268392ca264736f6c63430008130033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/Verifier.sol/Groth16Verifier.dbg.json b/artifacts/contracts/Verifier.sol/Groth16Verifier.dbg.json new file mode 100644 index 0000000..ba7a5cb --- /dev/null +++ b/artifacts/contracts/Verifier.sol/Groth16Verifier.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../build-info/b43de896c4a7f61663b58f2daf55e96f.json" +} diff --git a/artifacts/contracts/Verifier.sol/Groth16Verifier.json b/artifacts/contracts/Verifier.sol/Groth16Verifier.json new file mode 100644 index 0000000..66f6961 --- /dev/null +++ b/artifacts/contracts/Verifier.sol/Groth16Verifier.json @@ -0,0 +1,45 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Groth16Verifier", + "sourceName": "contracts/Verifier.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "uint256[2]", + "name": "_pA", + "type": "uint256[2]" + }, + { + "internalType": "uint256[2][2]", + "name": "_pB", + "type": "uint256[2][2]" + }, + { + "internalType": "uint256[2]", + "name": "_pC", + "type": "uint256[2]" + }, + { + "internalType": "uint256[]", + "name": "_pubSignals", + "type": "uint256[]" + } + ], + "name": "verifyProof", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b506104b0806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c32e370e14610030575b600080fd5b61004361003e3660046103ca565b610057565b604051901515815260200160405180910390f35b6000610390565b600060808501600086017f0ff020a416d6fb4c3cf3226387de0de4982896a8dc9035ded4f5e1da8620236a81527f2fc9671616ea7962611309ede70e3ca790b1b688026778205456ed7c3a8665f9602082015250823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08201527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08201527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008201527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208201527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408201527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160820152600086015161018082015260206000018601516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f21c515e6dc79e3bff0a086c5a4d5d53fadeadb4c9dbd20985ba0ea5ea245e87c6102808201527f1d3157dc231639513b308024329fcf340c9fae8abdf1e2a0332ef3785143d5d46102a08201527f2cc4be9ea0a0f206719d30d3b55243efe3b0827134a712fcb8b1d28725ca7f3b6102c08201527f1293109f58a8128b3dfd574ef8df70f5c7f664339fc5250a5e996fc00e8fb4376102e08201526020816103008360086107d05a03fa90511695945050505050565b60405161038081016040526103a78186888a61005e565b90508060005260206000f35b80604081018310156103c457600080fd5b92915050565b600080600080600061012086880312156103e357600080fd5b6103ed87876103b3565b945060c086018781111561040057600080fd5b60408701945061041088826103b3565b93505061010086013567ffffffffffffffff8082111561042f57600080fd5b818801915088601f83011261044357600080fd5b81358181111561045257600080fd5b8960208260051b850101111561046757600080fd5b969995985093965060200194939250505056fea2646970667358221220322a4004adcd10a570498ab9ea179b5dca8305a2cd1b25a43dff1cf1b6f3e65d64736f6c63430008130033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c32e370e14610030575b600080fd5b61004361003e3660046103ca565b610057565b604051901515815260200160405180910390f35b6000610390565b600060808501600086017f0ff020a416d6fb4c3cf3226387de0de4982896a8dc9035ded4f5e1da8620236a81527f2fc9671616ea7962611309ede70e3ca790b1b688026778205456ed7c3a8665f9602082015250823581527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760208401357f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703066020820152833560408201526020840135606082015260408401356080820152606084013560a08201527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e260c08201527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d192660e08201527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101008201527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101208201527f304cfbd1e08a704a99f5e847d93f8c3caafddec46b7a0d379da69a4d112346a76101408201527f1739c1b1a457a8c7313123d24d2f9192f896b7c63eea05a9d57f06547ad0cec8610160820152600086015161018082015260206000018601516101a08201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26101c08201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6101e08201527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b6102008201527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa610220820152843561024082015260208501356102608201527f21c515e6dc79e3bff0a086c5a4d5d53fadeadb4c9dbd20985ba0ea5ea245e87c6102808201527f1d3157dc231639513b308024329fcf340c9fae8abdf1e2a0332ef3785143d5d46102a08201527f2cc4be9ea0a0f206719d30d3b55243efe3b0827134a712fcb8b1d28725ca7f3b6102c08201527f1293109f58a8128b3dfd574ef8df70f5c7f664339fc5250a5e996fc00e8fb4376102e08201526020816103008360086107d05a03fa90511695945050505050565b60405161038081016040526103a78186888a61005e565b90508060005260206000f35b80604081018310156103c457600080fd5b92915050565b600080600080600061012086880312156103e357600080fd5b6103ed87876103b3565b945060c086018781111561040057600080fd5b60408701945061041088826103b3565b93505061010086013567ffffffffffffffff8082111561042f57600080fd5b818801915088601f83011261044357600080fd5b81358181111561045257600080fd5b8960208260051b850101111561046757600080fd5b969995985093965060200194939250505056fea2646970667358221220322a4004adcd10a570498ab9ea179b5dca8305a2cd1b25a43dff1cf1b6f3e65d64736f6c63430008130033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/security/Pausable.sol/Pausable.dbg.json b/artifacts/contracts/security/Pausable.sol/Pausable.dbg.json new file mode 100644 index 0000000..3e8016b --- /dev/null +++ b/artifacts/contracts/security/Pausable.sol/Pausable.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/b43de896c4a7f61663b58f2daf55e96f.json" +} diff --git a/artifacts/contracts/security/Pausable.sol/Pausable.json b/artifacts/contracts/security/Pausable.sol/Pausable.json new file mode 100644 index 0000000..a9dfd35 --- /dev/null +++ b/artifacts/contracts/security/Pausable.sol/Pausable.json @@ -0,0 +1,50 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Pausable", + "sourceName": "contracts/security/Pausable.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Paused", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "Unpaused", + "type": "event" + }, + { + "inputs": [], + "name": "paused", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/security/ReentrancyGuard.sol/ReentrancyGuard.dbg.json b/artifacts/contracts/security/ReentrancyGuard.sol/ReentrancyGuard.dbg.json new file mode 100644 index 0000000..3e8016b --- /dev/null +++ b/artifacts/contracts/security/ReentrancyGuard.sol/ReentrancyGuard.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/b43de896c4a7f61663b58f2daf55e96f.json" +} diff --git a/artifacts/contracts/security/ReentrancyGuard.sol/ReentrancyGuard.json b/artifacts/contracts/security/ReentrancyGuard.sol/ReentrancyGuard.json new file mode 100644 index 0000000..0b5c937 --- /dev/null +++ b/artifacts/contracts/security/ReentrancyGuard.sol/ReentrancyGuard.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ReentrancyGuard", + "sourceName": "contracts/security/ReentrancyGuard.sol", + "abi": [], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/contracts/test/ReentrancyAttacker.sol/ReentrancyAttacker.dbg.json b/artifacts/contracts/test/ReentrancyAttacker.sol/ReentrancyAttacker.dbg.json new file mode 100644 index 0000000..3e8016b --- /dev/null +++ b/artifacts/contracts/test/ReentrancyAttacker.sol/ReentrancyAttacker.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../build-info/b43de896c4a7f61663b58f2daf55e96f.json" +} diff --git a/artifacts/contracts/test/ReentrancyAttacker.sol/ReentrancyAttacker.json b/artifacts/contracts/test/ReentrancyAttacker.sol/ReentrancyAttacker.json new file mode 100644 index 0000000..66acf3c --- /dev/null +++ b/artifacts/contracts/test/ReentrancyAttacker.sol/ReentrancyAttacker.json @@ -0,0 +1,129 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ReentrancyAttacker", + "sourceName": "contracts/test/ReentrancyAttacker.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_target", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "attackInProgress", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "depositToTarget", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_withdrawAmount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_maxReentries", + "type": "uint256" + } + ], + "name": "initiateAttack", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "maxReentries", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "reentryBlocked", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "reentryCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "target", + "outputs": [ + { + "internalType": "contract CropChain", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawAmount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "bytecode": "0x60a060405234801561001057600080fd5b5060405161051c38038061051c83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b60805161047d61009f6000396000818160d301528181610223015281816102db015261038a015261047d6000f3fe60806040526004361061007f5760003560e01c806353b381691161004e57806353b38169146101d957806364bf5dcb146101ef578063818c8c7c146101f7578063d4b839921461021157600080fd5b8063043d7fcd1461014b57806332db89f21461016b578063352bb4ba1461019f578063534844a2146101c357600080fd5b366101465760035460ff16158061009a575060015460025410155b156100a157005b6001600260008282546100b491906103fe565b90915550506000546040516305430f9560e11b815260048101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630a861f2a90602401600060405180830381600087803b15801561011f57600080fd5b505af1925050508015610130575060015b610144576003805461ff0019166101001790555b005b600080fd5b34801561015757600080fd5b50610144610166366004610425565b61025d565b34801561017757600080fd5b5060035461018a90610100900460ff1681565b60405190151581526020015b60405180910390f35b3480156101ab57600080fd5b506101b560015481565b604051908152602001610196565b3480156101cf57600080fd5b506101b560005481565b3480156101e557600080fd5b506101b560025481565b61014461034d565b34801561020357600080fd5b5060035461018a9060ff1681565b34801561021d57600080fd5b506102457f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610196565b600082116102a75760405162461bcd60e51b81526020600482015260126024820152710416d6f756e74206d757374206265203e20360741b60448201526064015b60405180910390fd5b600082815560018281556002919091556003805461ffff191690911790556040516305430f9560e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630a861f2a90602401600060405180830381600087803b15801561032757600080fd5b505af115801561033b573d6000803e3d6000fd5b50506003805460ff1916905550505050565b600034116103885760405162461bcd60e51b81526020600482015260086024820152674e6f2076616c756560c01b604482015260640161029e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ca593c59346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156103e357600080fd5b505af11580156103f7573d6000803e3d6000fd5b5050505050565b8082018082111561041f57634e487b7160e01b600052601160045260246000fd5b92915050565b6000806040838503121561043857600080fd5b5050803592602090910135915056fea264697066735822122083c5127b8011825ebef62573703ae6dd9f8d82f86cc6343c7f6905274916c6c264736f6c63430008130033", + "deployedBytecode": "0x60806040526004361061007f5760003560e01c806353b381691161004e57806353b38169146101d957806364bf5dcb146101ef578063818c8c7c146101f7578063d4b839921461021157600080fd5b8063043d7fcd1461014b57806332db89f21461016b578063352bb4ba1461019f578063534844a2146101c357600080fd5b366101465760035460ff16158061009a575060015460025410155b156100a157005b6001600260008282546100b491906103fe565b90915550506000546040516305430f9560e11b815260048101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630a861f2a90602401600060405180830381600087803b15801561011f57600080fd5b505af1925050508015610130575060015b610144576003805461ff0019166101001790555b005b600080fd5b34801561015757600080fd5b50610144610166366004610425565b61025d565b34801561017757600080fd5b5060035461018a90610100900460ff1681565b60405190151581526020015b60405180910390f35b3480156101ab57600080fd5b506101b560015481565b604051908152602001610196565b3480156101cf57600080fd5b506101b560005481565b3480156101e557600080fd5b506101b560025481565b61014461034d565b34801561020357600080fd5b5060035461018a9060ff1681565b34801561021d57600080fd5b506102457f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610196565b600082116102a75760405162461bcd60e51b81526020600482015260126024820152710416d6f756e74206d757374206265203e20360741b60448201526064015b60405180910390fd5b600082815560018281556002919091556003805461ffff191690911790556040516305430f9560e11b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690630a861f2a90602401600060405180830381600087803b15801561032757600080fd5b505af115801561033b573d6000803e3d6000fd5b50506003805460ff1916905550505050565b600034116103885760405162461bcd60e51b81526020600482015260086024820152674e6f2076616c756560c01b604482015260640161029e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ca593c59346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156103e357600080fd5b505af11580156103f7573d6000803e3d6000fd5b5050505050565b8082018082111561041f57634e487b7160e01b600052601160045260246000fd5b92915050565b6000806040838503121561043857600080fd5b5050803592602090910135915056fea264697066735822122083c5127b8011825ebef62573703ae6dd9f8d82f86cc6343c7f6905274916c6c264736f6c63430008130033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/cache/solidity-files-cache.json b/cache/solidity-files-cache.json new file mode 100644 index 0000000..d724517 --- /dev/null +++ b/cache/solidity-files-cache.json @@ -0,0 +1,185 @@ +{ + "_format": "hh-sol-cache-2", + "files": { + "/home/suraj/Documents/CropChain/contracts/CropChain.sol": { + "lastModificationDate": 1771049078506, + "contentHash": "6e779fba9520fd1c0163703acb1618b2", + "sourceName": "contracts/CropChain.sol", + "solcConfig": { + "version": "0.8.19", + "settings": { + "optimizer": { + "enabled": true, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": [ + "ast" + ] + } + } + } + }, + "imports": [ + "./security/ReentrancyGuard.sol", + "./security/Pausable.sol" + ], + "versionPragmas": [ + "^0.8.19" + ], + "artifacts": [ + "CropChain" + ] + }, + "/home/suraj/Documents/CropChain/contracts/security/ReentrancyGuard.sol": { + "lastModificationDate": 1771048586372, + "contentHash": "1e64ffc925a07a79ed10f80cdbeda50c", + "sourceName": "contracts/security/ReentrancyGuard.sol", + "solcConfig": { + "version": "0.8.19", + "settings": { + "optimizer": { + "enabled": true, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": [ + "ast" + ] + } + } + } + }, + "imports": [], + "versionPragmas": [ + "^0.8.19" + ], + "artifacts": [ + "ReentrancyGuard" + ] + }, + "/home/suraj/Documents/CropChain/contracts/security/Pausable.sol": { + "lastModificationDate": 1771048586375, + "contentHash": "f4f9b0a5069f300aa82d0d037ecbb8e0", + "sourceName": "contracts/security/Pausable.sol", + "solcConfig": { + "version": "0.8.19", + "settings": { + "optimizer": { + "enabled": true, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": [ + "ast" + ] + } + } + } + }, + "imports": [], + "versionPragmas": [ + "^0.8.19" + ], + "artifacts": [ + "Pausable" + ] + }, + "/home/suraj/Documents/CropChain/contracts/test/ReentrancyAttacker.sol": { + "lastModificationDate": 1771048691267, + "contentHash": "bbfb6f57bea0e32314a2315318e125f6", + "sourceName": "contracts/test/ReentrancyAttacker.sol", + "solcConfig": { + "version": "0.8.19", + "settings": { + "optimizer": { + "enabled": true, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": [ + "ast" + ] + } + } + } + }, + "imports": [ + "../CropChain.sol" + ], + "versionPragmas": [ + "^0.8.19" + ], + "artifacts": [ + "ReentrancyAttacker" + ] + }, + "/home/suraj/Documents/CropChain/contracts/Verifier.sol": { + "lastModificationDate": 1771051582005, + "contentHash": "f409b3270d27d0283c3ad1d06e67e345", + "sourceName": "contracts/Verifier.sol", + "solcConfig": { + "version": "0.8.19", + "settings": { + "optimizer": { + "enabled": true, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": [ + "ast" + ] + } + } + } + }, + "imports": [], + "versionPragmas": [ + ">=0.7.0 <0.9.0" + ], + "artifacts": [ + "Groth16Verifier" + ] + } + } +} diff --git a/contracts/CropChain.sol b/contracts/CropChain.sol index 1262286..a098d39 100644 --- a/contracts/CropChain.sol +++ b/contracts/CropChain.sol @@ -1,13 +1,12 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.19; -contract CropChain { +import "./security/ReentrancyGuard.sol"; +import "./security/Pausable.sol"; +contract CropChain is ReentrancyGuard, Pausable { /* ================= ENUMS ================= */ - /** - * @dev Supply chain stages - */ enum Stage { Farmer, Mandi, @@ -15,9 +14,6 @@ contract CropChain { Retailer } - /** - * @dev Actor roles - */ enum ActorRole { None, Farmer, @@ -30,13 +26,13 @@ contract CropChain { /* ================= STRUCTS ================= */ struct CropBatch { - bytes32 batchId; // Gas-optimized batch identifier - string ipfsCID; // All farmer and crop metadata is stored off-chain on IPFS as JSON. + bytes32 batchId; + string ipfsCID; uint256 quantity; uint256 createdAt; address creator; bool exists; - bool isRecalled; // NEW + bool isRecalled; } struct SupplyChainUpdate { @@ -48,17 +44,26 @@ contract CropChain { address updatedBy; } + struct PriceObservation { + uint256 price; + uint256 timestamp; + } + /* ================= STORAGE ================= */ mapping(bytes32 => CropBatch) public cropBatches; mapping(bytes32 => SupplyChainUpdate[]) public batchUpdates; - mapping(address => ActorRole) public roles; bytes32[] public allBatchIds; address public owner; - bool public paused = false; + + mapping(address => uint256) public mandiLiquidity; + uint256 public totalLiquidity; + + mapping(bytes32 => PriceObservation[]) private cropPriceObservations; + uint256 public constant DEFAULT_TWAP_WINDOW = 30 minutes; /* ================= EVENTS ================= */ @@ -76,18 +81,33 @@ contract CropChain { string location, address indexed updatedBy ); - + event ActorAuthorized(address indexed actor, bool authorized); - + event RoleUpdated(address indexed actor, ActorRole role); event BatchRecalled(string indexed batchId, address indexed triggeredBy); - + event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); + event PauseStateUpdated(address indexed by, bool paused); + + event LiquidityDeposited(address indexed account, uint256 amount); + event LiquidityWithdrawn(address indexed account, uint256 amount); + + event SpotPriceSubmitted(string indexed cropType, uint256 price, uint256 timestamp, address indexed updatedBy); + + /* ================= MODIFIERS ================= */ + modifier onlyOwner() { require(msg.sender == owner, "Only owner"); _; } - modifier whenNotPaused() { - require(!paused, "Contract paused"); + modifier onlyAuthorized() { + require(roles[msg.sender] != ActorRole.None, "Not authorized"); + _; + } + + modifier onlyMandiOrAdmin() { + ActorRole role = roles[msg.sender]; + require(role == ActorRole.Mandi || role == ActorRole.Admin, "Mandi/Admin only"); _; } @@ -105,25 +125,25 @@ contract CropChain { /* ================= ROLE MANAGEMENT ================= */ - /** - * @dev Assign role to user - */ function setRole(address _user, ActorRole _role) - public + external onlyOwner + nonReentrant { require(_user != address(0), "Invalid address"); roles[_user] = _role; emit RoleUpdated(_user, _role); + emit ActorAuthorized(_user, _role != ActorRole.None); } /* ================= INTERNAL HELPERS ================= */ - /** - * @dev Check if role can update stage - */ + function _toBatchHash(string memory _batchId) internal pure returns (bytes32) { + return keccak256(bytes(_batchId)); + } + function _canUpdate(Stage _stage, ActorRole _role) internal pure @@ -133,13 +153,9 @@ contract CropChain { if (_stage == Stage.Mandi && _role == ActorRole.Mandi) return true; if (_stage == Stage.Transport && _role == ActorRole.Transporter) return true; if (_stage == Stage.Retailer && _role == ActorRole.Retailer) return true; - return false; } - /** - * @dev Validate stage order - */ function _isNextStage(bytes32 _batchId, Stage _newStage) internal view @@ -152,15 +168,11 @@ contract CropChain { } Stage last = updates[updates.length - 1].stage; - return uint256(_newStage) == uint256(last) + 1; } /* ================= BATCH CREATION ================= */ - /** - * @dev Create new batch - */ function createBatch( string memory _batchId, string memory _farmerName, @@ -171,16 +183,24 @@ contract CropChain { string memory _origin, string memory _certifications, string memory _description - ) public onlyAuthorized whenNotPaused { - require(!cropBatches[_batchId].exists, "Batch already exists"); + ) external onlyAuthorized whenNotPaused nonReentrant { + bytes32 batchHash = _toBatchHash(_batchId); + + require(!cropBatches[batchHash].exists, "Batch already exists"); require(bytes(_batchId).length > 0, "Batch ID cannot be empty"); require(bytes(_farmerName).length > 0, "Farmer name cannot be empty"); + require(bytes(_farmerAddress).length > 0, "Farmer address cannot be empty"); + require(bytes(_cropType).length > 0, "Crop type cannot be empty"); + require(bytes(_harvestDate).length > 0, "Harvest date cannot be empty"); + require(bytes(_origin).length > 0, "Origin cannot be empty"); require(_quantity > 0, "Quantity must be greater than 0"); - - // Create the crop batch - cropBatches[_batchId] = CropBatch({ - batchId: _batchId, - ipfsCID: _ipfsCID, + + // Backward-compatible field usage: _description carries the off-chain metadata CID. + string memory ipfsCID = _description; + + cropBatches[batchHash] = CropBatch({ + batchId: batchHash, + ipfsCID: ipfsCID, quantity: _quantity, createdAt: block.timestamp, creator: msg.sender, @@ -188,143 +208,293 @@ contract CropChain { isRecalled: false }); - // Initial farmer record - batchUpdates[_batchId].push( + batchUpdates[batchHash].push( SupplyChainUpdate({ stage: Stage.Farmer, - actorName: "Farmer", - location: "From IPFS", + actorName: _farmerName, + location: _origin, timestamp: block.timestamp, - notes: "Initial harvest", + notes: string.concat("Crop:", _cropType, "; Harvest:", _harvestDate, "; FarmerAddr:", _farmerAddress, "; Cert:", _certifications), updatedBy: msg.sender }) ); - allBatchIds.push(_batchId); + allBatchIds.push(batchHash); - emit BatchCreated(_batchId, _ipfsCID, _quantity, msg.sender); + emit BatchCreated(batchHash, ipfsCID, _quantity, msg.sender); } /* ================= BATCH UPDATE ================= */ - /** - * @dev Update batch stage - */ function updateBatch( bytes32 _batchId, Stage _stage, string memory _actorName, string memory _location, string memory _notes - ) public onlyAuthorized batchExists(_batchId) { + ) external onlyAuthorized whenNotPaused nonReentrant batchExists(_batchId) { + ActorRole callerRole = roles[msg.sender]; + require(!cropBatches[_batchId].isRecalled, "Batch is recalled"); - require(bytes(_stage).length > 0, "Stage cannot be empty"); - require(bytes(_actor).length > 0, "Actor cannot be empty"); + require(bytes(_actorName).length > 0, "Actor cannot be empty"); require(bytes(_location).length > 0, "Location cannot be empty"); - - // Add the update - batchUpdates[_batchId].push(SupplyChainUpdate({ - stage: _stage, - actor: _actor, - location: _location, - timestamp: block.timestamp, - notes: _notes, - updatedBy: msg.sender - })); - - emit BatchUpdated(_batchId, _stage, _actor, _location, msg.sender); - } - - /** - * @dev Recall a batch (emergency/admin function) - * @param _batchId ID of the batch to recall - */ + require(_isNextStage(_batchId, _stage), "Invalid stage transition"); + require(callerRole == ActorRole.Admin || _canUpdate(_stage, callerRole), "Role cannot update this stage"); + + batchUpdates[_batchId].push( + SupplyChainUpdate({ + stage: _stage, + actorName: _actorName, + location: _location, + timestamp: block.timestamp, + notes: _notes, + updatedBy: msg.sender + }) + ); + + emit BatchUpdated(_batchId, _stage, _actorName, _location, msg.sender); + } + function recallBatch(string memory _batchId) - public + external onlyOwner - batchExists(_batchId) + nonReentrant { - cropBatches[_batchId].isRecalled = true; + bytes32 batchHash = _toBatchHash(_batchId); + require(cropBatches[batchHash].exists, "Batch not found"); + + cropBatches[batchHash].isRecalled = true; emit BatchRecalled(_batchId, msg.sender); } - - /** - * @dev Get crop batch information - * @param _batchId ID of the batch - * @return CropBatch struct - */ - function getBatch(string memory _batchId) - public - view - batchExists(_batchId) - returns (CropBatch memory) + + /* ================= MARKETPLACE LIQUIDITY ================= */ + + function depositLiquidity() + external + payable + onlyAuthorized + onlyMandiOrAdmin + whenNotPaused + nonReentrant { - return cropBatches[_batchId]; + require(msg.value > 0, "Amount must be > 0"); + + mandiLiquidity[msg.sender] += msg.value; + totalLiquidity += msg.value; + + emit LiquidityDeposited(msg.sender, msg.value); } - function getBatchUpdates(bytes32 _batchId) + function withdrawLiquidity(uint256 _amount) + external + onlyAuthorized + onlyMandiOrAdmin + whenNotPaused + nonReentrant + { + require(_amount > 0, "Amount must be > 0"); + + uint256 balance = mandiLiquidity[msg.sender]; + require(balance >= _amount, "Insufficient liquidity"); + + // CEI: effects first + mandiLiquidity[msg.sender] = balance - _amount; + totalLiquidity -= _amount; + + // Interaction last + (bool sent, ) = payable(msg.sender).call{value: _amount}(""); + require(sent, "Transfer failed"); + + emit LiquidityWithdrawn(msg.sender, _amount); + } + + /* ================= TWAP ORACLE HARDENING ================= */ + + function submitSpotPrice(string calldata _cropType, uint256 _price) + external + onlyAuthorized + onlyMandiOrAdmin + whenNotPaused + nonReentrant + { + require(bytes(_cropType).length > 0, "Crop type cannot be empty"); + require(_price > 0, "Price must be > 0"); + + bytes32 cropKey = keccak256(bytes(_cropType)); + cropPriceObservations[cropKey].push( + PriceObservation({price: _price, timestamp: block.timestamp}) + ); + + emit SpotPriceSubmitted(_cropType, _price, block.timestamp, msg.sender); + } + + function getPriceObservationCount(string calldata _cropType) + external + view + returns (uint256) + { + bytes32 cropKey = keccak256(bytes(_cropType)); + return cropPriceObservations[cropKey].length; + } + + function getLatestSpotPrice(string calldata _cropType) + external + view + returns (uint256 price, uint256 timestamp) + { + bytes32 cropKey = keccak256(bytes(_cropType)); + PriceObservation[] storage observations = cropPriceObservations[cropKey]; + require(observations.length > 0, "No price observations"); + + PriceObservation storage latest = observations[observations.length - 1]; + return (latest.price, latest.timestamp); + } + + function getTwapPrice(string calldata _cropType, uint256 _windowSeconds) public view + returns (uint256) + { + bytes32 cropKey = keccak256(bytes(_cropType)); + PriceObservation[] storage observations = cropPriceObservations[cropKey]; + require(observations.length > 0, "No price observations"); + + uint256 windowSeconds = _windowSeconds == 0 ? DEFAULT_TWAP_WINDOW : _windowSeconds; + require(windowSeconds > 0, "Invalid window"); + + uint256 endTime = block.timestamp; + uint256 startTime = endTime - windowSeconds; + + uint256 weightedSum = 0; + uint256 weightedTime = 0; + uint256 cursorTime = endTime; + + for (uint256 i = observations.length; i > 0; i--) { + PriceObservation storage obs = observations[i - 1]; + + if (obs.timestamp >= cursorTime) { + continue; + } + + uint256 segmentStart = obs.timestamp > startTime ? obs.timestamp : startTime; + if (cursorTime > segmentStart) { + uint256 duration = cursorTime - segmentStart; + weightedSum += obs.price * duration; + weightedTime += duration; + } + + if (obs.timestamp <= startTime) { + break; + } + + cursorTime = obs.timestamp; + } + + require(weightedTime > 0, "Insufficient observations"); + return weightedSum / weightedTime; + } + + /* ================= READS ================= */ + + function getBatch(string memory _batchId) + external + view + returns (CropBatch memory) + { + bytes32 batchHash = _toBatchHash(_batchId); + require(cropBatches[batchHash].exists, "Batch not found"); + return cropBatches[batchHash]; + } + + function getBatchUpdates(bytes32 _batchId) + external + view batchExists(_batchId) returns (SupplyChainUpdate[] memory) { return batchUpdates[_batchId]; } + function getBatchUpdatesById(string memory _batchId) + external + view + returns (SupplyChainUpdate[] memory) + { + bytes32 batchHash = _toBatchHash(_batchId); + require(cropBatches[batchHash].exists, "Batch not found"); + return batchUpdates[batchHash]; + } + function getLatestUpdate(bytes32 _batchId) - public + external view batchExists(_batchId) returns (SupplyChainUpdate memory) { - SupplyChainUpdate[] memory updates = batchUpdates[_batchId]; + SupplyChainUpdate[] storage updates = batchUpdates[_batchId]; + require(updates.length > 0, "No updates"); + return updates[updates.length - 1]; + } + function getLatestUpdateById(string memory _batchId) + external + view + returns (SupplyChainUpdate memory) + { + bytes32 batchHash = _toBatchHash(_batchId); + require(cropBatches[batchHash].exists, "Batch not found"); + + SupplyChainUpdate[] storage updates = batchUpdates[batchHash]; require(updates.length > 0, "No updates"); return updates[updates.length - 1]; } - function getTotalBatches() public view returns (uint256) { + function getTotalBatches() external view returns (uint256) { + return allBatchIds.length; + } + + function getBatchCount() external view returns (uint256) { return allBatchIds.length; } function getBatchIdByIndex(uint256 _index) - public + external view returns (bytes32) { require(_index < allBatchIds.length, "Out of bounds"); - return allBatchIds[_index]; } /* ================= ADMIN ================= */ function transferOwnership(address _newOwner) - public + external onlyOwner + nonReentrant { require(_newOwner != address(0), "Invalid address"); address previous = owner; - owner = _newOwner; - roles[_newOwner] = ActorRole.Admin; emit OwnershipTransferred(previous, _newOwner); } - /** - * @dev Pause/unpause system - */ function setPaused(bool _paused) - public + external onlyOwner + nonReentrant { - paused = _paused; + if (_paused) { + _pause(); + } else { + _unpause(); + } - emit Paused(msg.sender, _paused); + emit PauseStateUpdated(msg.sender, _paused); } -} \ No newline at end of file +} diff --git a/contracts/Verifier.sol b/contracts/Verifier.sol index f0cbb28..9903918 100644 --- a/contracts/Verifier.sol +++ b/contracts/Verifier.sol @@ -53,7 +53,7 @@ contract Groth16Verifier { uint16 constant pLastMem = 896; - function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[0] calldata _pubSignals) public view returns (bool) { + function verifyProof(uint[2] calldata _pA, uint[2][2] calldata _pB, uint[2] calldata _pC, uint[] calldata _pubSignals) public view returns (bool) { assembly { function checkField(v) { if iszero(lt(v, r)) { @@ -88,7 +88,7 @@ contract Groth16Verifier { } } - function checkPairing(pA, pB, pC, pubSignals, pMem) -> isOk { + function checkPairing(pA, pB, pC, pMem) -> isOk { let _pPairing := add(pMem, pPairing) let _pVk := add(pMem, pVk) @@ -152,7 +152,7 @@ contract Groth16Verifier { // Validate all evaluations - let isValid := checkPairing(_pA, _pB, _pC, _pubSignals, pMem) + let isValid := checkPairing(_pA, _pB, _pC, pMem) mstore(0, isValid) return(0, 0x20) diff --git a/contracts/security/Pausable.sol b/contracts/security/Pausable.sol new file mode 100644 index 0000000..f5e8c6f --- /dev/null +++ b/contracts/security/Pausable.sol @@ -0,0 +1,46 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v4.9.0) (security/Pausable.sol) +pragma solidity ^0.8.19; + +abstract contract Pausable { + event Paused(address account); + event Unpaused(address account); + + bool private _paused; + + constructor() { + _paused = false; + } + + modifier whenNotPaused() { + _requireNotPaused(); + _; + } + + modifier whenPaused() { + _requirePaused(); + _; + } + + function paused() public view virtual returns (bool) { + return _paused; + } + + function _requireNotPaused() internal view virtual { + require(!_paused, "Pausable: paused"); + } + + function _requirePaused() internal view virtual { + require(_paused, "Pausable: not paused"); + } + + function _pause() internal virtual whenNotPaused { + _paused = true; + emit Paused(msg.sender); + } + + function _unpause() internal virtual whenPaused { + _paused = false; + emit Unpaused(msg.sender); + } +} diff --git a/contracts/security/ReentrancyGuard.sol b/contracts/security/ReentrancyGuard.sol new file mode 100644 index 0000000..da45aaf --- /dev/null +++ b/contracts/security/ReentrancyGuard.sol @@ -0,0 +1,29 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts (last updated v4.9.0) (security/ReentrancyGuard.sol) +pragma solidity ^0.8.19; + +abstract contract ReentrancyGuard { + uint256 private constant _NOT_ENTERED = 1; + uint256 private constant _ENTERED = 2; + + uint256 private _status; + + constructor() { + _status = _NOT_ENTERED; + } + + modifier nonReentrant() { + _nonReentrantBefore(); + _; + _nonReentrantAfter(); + } + + function _nonReentrantBefore() private { + require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); + _status = _ENTERED; + } + + function _nonReentrantAfter() private { + _status = _NOT_ENTERED; + } +} diff --git a/contracts/test/ReentrancyAttacker.sol b/contracts/test/ReentrancyAttacker.sol new file mode 100644 index 0000000..2b4df4e --- /dev/null +++ b/contracts/test/ReentrancyAttacker.sol @@ -0,0 +1,51 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import "../CropChain.sol"; + +contract ReentrancyAttacker { + CropChain public immutable target; + + uint256 public withdrawAmount; + uint256 public maxReentries; + uint256 public reentryCount; + bool public attackInProgress; + bool public reentryBlocked; + + constructor(address _target) { + target = CropChain(_target); + } + + function depositToTarget() external payable { + require(msg.value > 0, "No value"); + target.depositLiquidity{value: msg.value}(); + } + + function initiateAttack(uint256 _withdrawAmount, uint256 _maxReentries) external { + require(_withdrawAmount > 0, "Amount must be > 0"); + + withdrawAmount = _withdrawAmount; + maxReentries = _maxReentries; + reentryCount = 0; + reentryBlocked = false; + attackInProgress = true; + + target.withdrawLiquidity(_withdrawAmount); + + attackInProgress = false; + } + + receive() external payable { + if (!attackInProgress || reentryCount >= maxReentries) { + return; + } + + reentryCount += 1; + + try target.withdrawLiquidity(withdrawAmount) { + // If this succeeds, the target is vulnerable. + } catch { + reentryBlocked = true; + } + } +} diff --git a/docs/security.md b/docs/security.md new file mode 100644 index 0000000..4526c69 --- /dev/null +++ b/docs/security.md @@ -0,0 +1,107 @@ +# CropChain Smart Contract Security Architecture + +## Scope +This document covers the security hardening applied to `contracts/CropChain.sol` and related test assets. + +## Security Controls Implemented + +### 1. Check-Effects-Interactions (CEI) +All external state-changing functions now follow CEI ordering: + +1. Checks (`require`, access checks, pause checks) +2. Effects (storage updates) +3. Interactions (external calls, if any) + +Most functions are check+effects only. `withdrawLiquidity` is the only function with an external interaction, and it explicitly does effects before the transfer call. + +### 2. Reentrancy Guard (OpenZeppelin Pattern) +`CropChain` now inherits from `ReentrancyGuard` (OpenZeppelin implementation pattern, vendored locally in `contracts/security/ReentrancyGuard.sol`), and all external state-mutating functions are protected with `nonReentrant`: + +- `setRole` +- `createBatch` +- `updateBatch` +- `recallBatch` +- `depositLiquidity` +- `withdrawLiquidity` +- `submitSpotPrice` +- `transferOwnership` +- `setPaused` + +### 3. Circuit Breaker / Emergency Stop +`CropChain` now inherits from `Pausable` (OpenZeppelin implementation pattern, vendored locally in `contracts/security/Pausable.sol`). + +- Admin can trigger pause via `setPaused(true)`. +- Core write paths are guarded by `whenNotPaused`. +- Pause lifecycle emits both OpenZeppelin `Paused/Unpaused` events and `PauseStateUpdated`. + +### 4. Oracle Hardening with TWAP +A TWAP-capable oracle path was added for crop pricing: + +- `submitSpotPrice(cropType, price)` stores timestamped price observations. +- `getTwapPrice(cropType, windowSeconds)` computes a time-weighted average over the requested window (default `30 minutes` if `windowSeconds == 0`). +- This design reduces single-block spot manipulation risk (flash-loan style volatility spikes). + +### 5. Marketplace Liquidity Reentrancy Defense +To model Mandi liquidity withdrawal risk explicitly: + +- `depositLiquidity()` and `withdrawLiquidity(amount)` added. +- `withdrawLiquidity` applies CEI strictly and `nonReentrant`. +- Attack simulation contract (`contracts/test/ReentrancyAttacker.sol`) attempts recursive withdrawal during fallback. + +## Function-Level Security Matrix + +- `setRole`: access control + `nonReentrant` +- `createBatch`: authorization + pause + CEI + `nonReentrant` +- `updateBatch`: authorization + stage/role checks + pause + CEI + `nonReentrant` +- `recallBatch`: owner-only + CEI + `nonReentrant` +- `depositLiquidity`: role-gated + pause + CEI + `nonReentrant` +- `withdrawLiquidity`: role-gated + pause + CEI + `nonReentrant` + external call last +- `submitSpotPrice`: role-gated + pause + CEI + `nonReentrant` +- `transferOwnership`: owner-only + CEI + `nonReentrant` +- `setPaused`: owner-only + `nonReentrant` + +## Mock Attack Test Coverage +Hardhat test file: `test/CropChain.security.test.js` + +Includes: + +- Core batch lifecycle and role/stage enforcement regression checks. +- Pause/unpause enforcement on state-changing operations. +- Reentrancy attack simulation using `ReentrancyAttacker` against `withdrawLiquidity`. +- TWAP behavior sanity test. + +## Static Analysis Commands +Run after dependencies are installed: + +```bash +npm install +npm run compile +npm run test +``` + +### Slither +```bash +slither contracts/CropChain.sol +``` + +### Mythril +```bash +myth analyze contracts/CropChain.sol --solv 0.8.19 +``` + +### Hardhat Tracer (optional for exploit visualization) +1. Install plugin: +```bash +npm install --save-dev hardhat-tracer +``` +2. Add to `hardhat.config.js`: +```js +require("hardhat-tracer"); +``` +3. Run tests with tracing: +```bash +npx hardhat test --trace +``` + +## Verification Status in This Environment +Could not execute `npm install`, `hardhat compile`, `hardhat test`, Slither, or Mythril in this session because dependency fetch to `registry.npmjs.org` failed with DNS/network error `EAI_AGAIN`. diff --git a/hardhat.config.js b/hardhat.config.js index 7656d4a..5a22ed0 100644 --- a/hardhat.config.js +++ b/hardhat.config.js @@ -1,5 +1,10 @@ require("@nomicfoundation/hardhat-toolbox"); require("dotenv").config(); +try { + require("hardhat-tracer"); +} catch (_) { + // Optional plugin for call tracing in security tests. +} /** @type import('hardhat/config').HardhatUserConfig */ module.exports = { diff --git a/package-lock.json b/package-lock.json index ac8cfb3..3ae68c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,46 +11,39 @@ "dependencies": { "@types/qrcode": "^1.5.5", "@types/react-router-dom": "^5.3.3", - "dotenv": "^16.3.1", + "dotenv": "^16.4.5", + "ethers": "^6.11.0", "framer-motion": "^11.0.0", - "i18next": "^25.8.4", - "i18next-browser-languagedetector": "^8.2.0", - "idb": "^8.0.3", + "i18next": "^23.10.0", + "i18next-browser-languagedetector": "^7.2.0", + "idb": "^8.0.0", "lucide-react": "^0.344.0", "qrcode": "^1.5.4", "react": "^18.3.1", "react-dom": "^18.3.1", - "react-i18next": "^16.5.4", - "react-router-dom": "^7.7.1" + "react-i18next": "^14.1.0", + "react-router-dom": "^6.22.0" }, "devDependencies": { "@eslint/js": "^9.9.1", - "@nomicfoundation/hardhat-chai-matchers": "^2.0.2", - "@nomicfoundation/hardhat-ethers": "^3.0.4", - "@nomicfoundation/hardhat-network-helpers": "^1.0.9", - "@nomicfoundation/hardhat-toolbox": "^6.1.0", - "@nomicfoundation/hardhat-verify": "^1.1.1", - "@typechain/ethers-v6": "^0.4.3", - "@typechain/hardhat": "^8.0.3", - "@types/chai": "^4.3.6", - "@types/mocha": "^10.0.2", + "@nomicfoundation/hardhat-toolbox": "^5.0.0", + "@types/jest": "^29.5.12", + "@types/node": "^20.0.0", "@types/react": "^18.3.5", "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.3.1", "autoprefixer": "^10.4.18", - "chai": "^4.3.8", - "cypress": "^15.9.0", + "cypress": "^13.6.0", "eslint": "^9.9.1", "eslint-plugin-react-hooks": "^5.1.0-rc.0", "eslint-plugin-react-refresh": "^0.4.11", - "ethers": "^6.7.1", "globals": "^15.9.0", - "hardhat": "^2.17.1", - "hardhat-gas-reporter": "^1.0.9", + "hardhat": "^2.22.0", + "jest": "^29.7.0", "postcss": "^8.4.35", - "solidity-coverage": "^0.8.4", "tailwindcss": "^3.4.1", - "typechain": "^8.3.1", + "ts-jest": "^29.1.2", + "ts-node": "^10.9.2", "typescript": "^5.5.3", "typescript-eslint": "^8.3.0", "vite": "^5.4.2" @@ -58,15 +51,10 @@ }, "node_modules/@adraffy/ens-normalize": { "version": "1.10.1", - "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", - "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==", - "dev": true, "license": "MIT" }, "node_modules/@alloc/quick-lru": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", "dev": true, "license": "MIT", "engines": { @@ -78,8 +66,6 @@ }, "node_modules/@babel/code-frame": { "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", "dev": true, "license": "MIT", "dependencies": { @@ -93,8 +79,6 @@ }, "node_modules/@babel/compat-data": { "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", - "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", "dev": true, "license": "MIT", "engines": { @@ -103,8 +87,6 @@ }, "node_modules/@babel/core": { "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", - "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dev": true, "license": "MIT", "dependencies": { @@ -133,9 +115,7 @@ } }, "node_modules/@babel/generator": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.0.tgz", - "integrity": "sha512-vSH118/wwM/pLR38g/Sgk05sNtro6TlTJKuiMXDaZqPUfjTFcudpCOt00IhOfj+1BFAX+UFAlzCU+6WXr3GLFQ==", + "version": "7.29.1", "dev": true, "license": "MIT", "dependencies": { @@ -151,8 +131,6 @@ }, "node_modules/@babel/helper-compilation-targets": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", - "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", "dev": true, "license": "MIT", "dependencies": { @@ -168,8 +146,6 @@ }, "node_modules/@babel/helper-globals": { "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", "dev": true, "license": "MIT", "engines": { @@ -178,8 +154,6 @@ }, "node_modules/@babel/helper-module-imports": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", - "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", "dev": true, "license": "MIT", "dependencies": { @@ -192,8 +166,6 @@ }, "node_modules/@babel/helper-module-transforms": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", - "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", "dev": true, "license": "MIT", "dependencies": { @@ -210,8 +182,6 @@ }, "node_modules/@babel/helper-plugin-utils": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", - "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", "dev": true, "license": "MIT", "engines": { @@ -220,8 +190,6 @@ }, "node_modules/@babel/helper-string-parser": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, "license": "MIT", "engines": { @@ -230,8 +198,6 @@ }, "node_modules/@babel/helper-validator-identifier": { "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "dev": true, "license": "MIT", "engines": { @@ -240,8 +206,6 @@ }, "node_modules/@babel/helper-validator-option": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "dev": true, "license": "MIT", "engines": { @@ -250,8 +214,6 @@ }, "node_modules/@babel/helpers": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", - "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", "dev": true, "license": "MIT", "dependencies": { @@ -264,8 +226,6 @@ }, "node_modules/@babel/parser": { "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", "dev": true, "license": "MIT", "dependencies": { @@ -278,10 +238,213 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.28.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.28.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.28.6", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-transform-react-jsx-self": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", - "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", "dev": true, "license": "MIT", "dependencies": { @@ -296,8 +459,6 @@ }, "node_modules/@babel/plugin-transform-react-jsx-source": { "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", - "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", "dev": true, "license": "MIT", "dependencies": { @@ -312,8 +473,6 @@ }, "node_modules/@babel/runtime": { "version": "7.28.6", - "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.28.6.tgz", - "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -321,8 +480,6 @@ }, "node_modules/@babel/template": { "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", - "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", "dev": true, "license": "MIT", "dependencies": { @@ -336,8 +493,6 @@ }, "node_modules/@babel/traverse": { "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", "dev": true, "license": "MIT", "dependencies": { @@ -355,8 +510,6 @@ }, "node_modules/@babel/types": { "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "dev": true, "license": "MIT", "dependencies": { @@ -367,10 +520,42 @@ "node": ">=6.9.0" } }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "node_modules/@cypress/request": { "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.10.tgz", - "integrity": "sha512-hauBrOdvu08vOsagkZ/Aju5XuiZx6ldsLfByg1htFeldhex+PeMrYauANzFsMJeAA0+dyPLbDoX2OYuvVoLDkQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -399,8 +584,6 @@ }, "node_modules/@cypress/xvfb": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", - "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", "dev": true, "license": "MIT", "dependencies": { @@ -410,8 +593,6 @@ }, "node_modules/@cypress/xvfb/node_modules/debug": { "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "license": "MIT", "dependencies": { @@ -435,367 +616,1820 @@ "node": ">=12" } }, - "node_modules/@esbuild/android-arm": { + "node_modules/@esbuild/linux-x64": { "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", - "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", "cpu": [ - "arm" + "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "android" + "linux" ], "engines": { "node": ">=12" } }, - "node_modules/@esbuild/android-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", - "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", - "cpu": [ - "arm64" - ], + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, "engines": { - "node": ">=12" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@esbuild/android-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", - "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", - "cpu": [ - "x64" - ], + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "license": "Apache-2.0", "engines": { - "node": ">=12" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", - "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", - "cpu": [ - "arm64" - ], + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": ">=12" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", - "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", - "cpu": [ - "x64" - ], + "node_modules/@eslint/config-array": { + "version": "0.21.1", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, "engines": { - "node": ">=12" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", - "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", - "cpu": [ - "arm64" - ], + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, "engines": { - "node": ">=12" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", - "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", - "cpu": [ - "x64" - ], + "node_modules/@eslint/core": { + "version": "0.17.0", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, "engines": { - "node": ">=12" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@esbuild/linux-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", - "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", - "cpu": [ - "arm" - ], + "node_modules/@eslint/eslintrc": { + "version": "3.3.3", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, "engines": { - "node": ">=12" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", - "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", - "cpu": [ - "arm64" - ], + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=12" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", - "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", - "cpu": [ - "ia32" - ], + "node_modules/@eslint/js": { + "version": "9.39.2", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=12" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" } }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", - "cpu": [ - "loong64" - ], + "node_modules/@eslint/object-schema": { + "version": "2.1.7", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "Apache-2.0", "engines": { - "node": ">=12" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", - "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", - "cpu": [ - "mips64el" - ], + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, "engines": { - "node": ">=12" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", - "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", - "cpu": [ - "ppc64" - ], + "node_modules/@ethereumjs/rlp": { + "version": "5.0.2", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "MPL-2.0", + "bin": { + "rlp": "bin/rlp.cjs" + }, "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", - "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", - "cpu": [ - "riscv64" - ], + "node_modules/@ethereumjs/util": { + "version": "9.1.0", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "MPL-2.0", + "dependencies": { + "@ethereumjs/rlp": "^5.0.2", + "ethereum-cryptography": "^2.2.1" + }, "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", - "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", - "cpu": [ - "s390x" - ], + "node_modules/@ethereumjs/util/node_modules/@noble/curves": { + "version": "1.4.2", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "dependencies": { + "@noble/hashes": "1.4.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@esbuild/linux-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", - "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", - "cpu": [ - "x64" - ], + "node_modules/@ethereumjs/util/node_modules/@noble/hashes": { + "version": "1.4.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=12" + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", - "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", - "cpu": [ - "x64" - ], + "node_modules/@ethereumjs/util/node_modules/ethereum-cryptography": { + "version": "2.2.1", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" + "dependencies": { + "@noble/curves": "1.4.2", + "@noble/hashes": "1.4.0", + "@scure/bip32": "1.4.0", + "@scure/bip39": "1.3.0" } }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", - "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", - "cpu": [ - "x64" - ], + "node_modules/@ethersproject/abi": { + "version": "5.8.0", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/address": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/hash": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/strings": "^5.8.0" + } + }, + "node_modules/@ethersproject/abstract-provider": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/networks": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/transactions": "^5.8.0", + "@ethersproject/web": "^5.8.0" + } + }, + "node_modules/@ethersproject/abstract-signer": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-provider": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0" + } + }, + "node_modules/@ethersproject/address": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/rlp": "^5.8.0" + } + }, + "node_modules/@ethersproject/base64": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.8.0" + } + }, + "node_modules/@ethersproject/basex": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/properties": "^5.8.0" + } + }, + "node_modules/@ethersproject/bignumber": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "bn.js": "^5.2.1" + } + }, + "node_modules/@ethersproject/bytes": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/logger": "^5.8.0" + } + }, + "node_modules/@ethersproject/constants": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bignumber": "^5.8.0" + } + }, + "node_modules/@ethersproject/contracts": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "@ethersproject/abi": "^5.8.0", + "@ethersproject/abstract-provider": "^5.8.0", + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/address": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/transactions": "^5.8.0" + } + }, + "node_modules/@ethersproject/hash": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/address": "^5.8.0", + "@ethersproject/base64": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/strings": "^5.8.0" + } + }, + "node_modules/@ethersproject/hdnode": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/basex": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/pbkdf2": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/sha2": "^5.8.0", + "@ethersproject/signing-key": "^5.8.0", + "@ethersproject/strings": "^5.8.0", + "@ethersproject/transactions": "^5.8.0", + "@ethersproject/wordlists": "^5.8.0" + } + }, + "node_modules/@ethersproject/json-wallets": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/address": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/hdnode": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/pbkdf2": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/random": "^5.8.0", + "@ethersproject/strings": "^5.8.0", + "@ethersproject/transactions": "^5.8.0", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" + } + }, + "node_modules/@ethersproject/json-wallets/node_modules/aes-js": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@ethersproject/keccak256": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.8.0", + "js-sha3": "0.8.0" + } + }, + "node_modules/@ethersproject/logger": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT" + }, + "node_modules/@ethersproject/networks": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/logger": "^5.8.0" + } + }, + "node_modules/@ethersproject/pbkdf2": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/sha2": "^5.8.0" + } + }, + "node_modules/@ethersproject/properties": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/logger": "^5.8.0" + } + }, + "node_modules/@ethersproject/providers": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "@ethersproject/abstract-provider": "^5.8.0", + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/address": "^5.8.0", + "@ethersproject/base64": "^5.8.0", + "@ethersproject/basex": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/hash": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/networks": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/random": "^5.8.0", + "@ethersproject/rlp": "^5.8.0", + "@ethersproject/sha2": "^5.8.0", + "@ethersproject/strings": "^5.8.0", + "@ethersproject/transactions": "^5.8.0", + "@ethersproject/web": "^5.8.0", + "bech32": "1.1.4", + "ws": "8.18.0" + } + }, + "node_modules/@ethersproject/providers/node_modules/ws": { + "version": "8.18.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@ethersproject/random": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0" + } + }, + "node_modules/@ethersproject/rlp": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0" + } + }, + "node_modules/@ethersproject/sha2": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "hash.js": "1.1.7" + } + }, + "node_modules/@ethersproject/signing-key": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "bn.js": "^5.2.1", + "elliptic": "6.6.1", + "hash.js": "1.1.7" + } + }, + "node_modules/@ethersproject/solidity": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/sha2": "^5.8.0", + "@ethersproject/strings": "^5.8.0" + } + }, + "node_modules/@ethersproject/strings": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/logger": "^5.8.0" + } + }, + "node_modules/@ethersproject/transactions": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/address": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/rlp": "^5.8.0", + "@ethersproject/signing-key": "^5.8.0" + } + }, + "node_modules/@ethersproject/units": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/constants": "^5.8.0", + "@ethersproject/logger": "^5.8.0" + } + }, + "node_modules/@ethersproject/wallet": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "@ethersproject/abstract-provider": "^5.8.0", + "@ethersproject/abstract-signer": "^5.8.0", + "@ethersproject/address": "^5.8.0", + "@ethersproject/bignumber": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/hash": "^5.8.0", + "@ethersproject/hdnode": "^5.8.0", + "@ethersproject/json-wallets": "^5.8.0", + "@ethersproject/keccak256": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/random": "^5.8.0", + "@ethersproject/signing-key": "^5.8.0", + "@ethersproject/transactions": "^5.8.0", + "@ethersproject/wordlists": "^5.8.0" + } + }, + "node_modules/@ethersproject/web": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@ethersproject/base64": "^5.8.0", + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/strings": "^5.8.0" + } + }, + "node_modules/@ethersproject/wordlists": { + "version": "5.8.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "@ethersproject/bytes": "^5.8.0", + "@ethersproject/hash": "^5.8.0", + "@ethersproject/logger": "^5.8.0", + "@ethersproject/properties": "^5.8.0", + "@ethersproject/strings": "^5.8.0" + } + }, + "node_modules/@fastify/busboy": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/esprima": { + "version": "4.0.1", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.2", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/node_modules/ci-info": { + "version": "3.9.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@noble/curves": { + "version": "1.2.0", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.3.2" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/hashes": { + "version": "1.3.2", + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/secp256k1": { + "version": "1.7.1", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nomicfoundation/edr": { + "version": "0.12.0-next.23", + "dev": true, + "license": "MIT", + "dependencies": { + "@nomicfoundation/edr-darwin-arm64": "0.12.0-next.23", + "@nomicfoundation/edr-darwin-x64": "0.12.0-next.23", + "@nomicfoundation/edr-linux-arm64-gnu": "0.12.0-next.23", + "@nomicfoundation/edr-linux-arm64-musl": "0.12.0-next.23", + "@nomicfoundation/edr-linux-x64-gnu": "0.12.0-next.23", + "@nomicfoundation/edr-linux-x64-musl": "0.12.0-next.23", + "@nomicfoundation/edr-win32-x64-msvc": "0.12.0-next.23" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/@nomicfoundation/edr-darwin-arm64": { + "version": "0.12.0-next.23", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" + } + }, + "node_modules/@nomicfoundation/edr-darwin-x64": { + "version": "0.12.0-next.23", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" + } + }, + "node_modules/@nomicfoundation/edr-linux-arm64-gnu": { + "version": "0.12.0-next.23", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" + } + }, + "node_modules/@nomicfoundation/edr-linux-arm64-musl": { + "version": "0.12.0-next.23", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" + } + }, + "node_modules/@nomicfoundation/edr-linux-x64-gnu": { + "version": "0.12.0-next.23", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" + } + }, + "node_modules/@nomicfoundation/edr-linux-x64-musl": { + "version": "0.12.0-next.23", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" + } + }, + "node_modules/@nomicfoundation/edr-win32-x64-msvc": { + "version": "0.12.0-next.23", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" + } + }, + "node_modules/@nomicfoundation/hardhat-chai-matchers": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/chai-as-promised": "^7.1.3", + "chai-as-promised": "^7.1.1", + "deep-eql": "^4.0.1", + "ordinal": "^1.0.3" + }, + "peerDependencies": { + "@nomicfoundation/hardhat-ethers": "^3.1.0", + "chai": "^4.2.0", + "ethers": "^6.14.0", + "hardhat": "^2.26.0" + } + }, + "node_modules/@nomicfoundation/hardhat-ethers": { + "version": "3.1.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "debug": "^4.1.1", + "lodash.isequal": "^4.5.0" + }, + "peerDependencies": { + "ethers": "^6.14.0", + "hardhat": "^2.28.0" + } + }, + "node_modules/@nomicfoundation/hardhat-ignition": { + "version": "0.15.16", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@nomicfoundation/ignition-core": "^0.15.15", + "@nomicfoundation/ignition-ui": "^0.15.13", + "chalk": "^4.0.0", + "debug": "^4.3.2", + "fs-extra": "^10.0.0", + "json5": "^2.2.3", + "prompts": "^2.4.2" + }, + "peerDependencies": { + "@nomicfoundation/hardhat-verify": "^2.1.0", + "hardhat": "^2.26.0" + } + }, + "node_modules/@nomicfoundation/hardhat-ignition-ethers": { + "version": "0.15.17", + "dev": true, + "license": "MIT", + "peer": true, + "peerDependencies": { + "@nomicfoundation/hardhat-ethers": "^3.1.0", + "@nomicfoundation/hardhat-ignition": "^0.15.16", + "@nomicfoundation/ignition-core": "^0.15.15", + "ethers": "^6.14.0", + "hardhat": "^2.26.0" + } + }, + "node_modules/@nomicfoundation/hardhat-network-helpers": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ethereumjs-util": "^7.1.4" + }, + "peerDependencies": { + "hardhat": "^2.26.0" + } + }, + "node_modules/@nomicfoundation/hardhat-toolbox": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@nomicfoundation/hardhat-chai-matchers": "^2.0.0", + "@nomicfoundation/hardhat-ethers": "^3.0.0", + "@nomicfoundation/hardhat-ignition-ethers": "^0.15.0", + "@nomicfoundation/hardhat-network-helpers": "^1.0.0", + "@nomicfoundation/hardhat-verify": "^2.0.0", + "@typechain/ethers-v6": "^0.5.0", + "@typechain/hardhat": "^9.0.0", + "@types/chai": "^4.2.0", + "@types/mocha": ">=9.1.0", + "@types/node": ">=18.0.0", + "chai": "^4.2.0", + "ethers": "^6.4.0", + "hardhat": "^2.11.0", + "hardhat-gas-reporter": "^1.0.8", + "solidity-coverage": "^0.8.1", + "ts-node": ">=8.0.0", + "typechain": "^8.3.0", + "typescript": ">=4.5.0" + } + }, + "node_modules/@nomicfoundation/hardhat-verify": { + "version": "2.1.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@ethersproject/abi": "^5.1.2", + "@ethersproject/address": "^5.0.2", + "cbor": "^8.1.0", + "debug": "^4.1.1", + "lodash.clonedeep": "^4.5.0", + "picocolors": "^1.1.0", + "semver": "^6.3.0", + "table": "^6.8.0", + "undici": "^5.14.0" + }, + "peerDependencies": { + "hardhat": "^2.26.0" + } + }, + "node_modules/@nomicfoundation/ignition-core": { + "version": "0.15.15", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@ethersproject/address": "5.6.1", + "@nomicfoundation/solidity-analyzer": "^0.1.1", + "cbor": "^9.0.0", + "debug": "^4.3.2", + "ethers": "^6.14.0", + "fs-extra": "^10.0.0", + "immer": "10.0.2", + "lodash": "4.17.21", + "ndjson": "2.0.0" + } + }, + "node_modules/@nomicfoundation/ignition-core/node_modules/@ethersproject/address": { + "version": "5.6.1", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "@ethersproject/bignumber": "^5.6.2", + "@ethersproject/bytes": "^5.6.1", + "@ethersproject/keccak256": "^5.6.1", + "@ethersproject/logger": "^5.6.0", + "@ethersproject/rlp": "^5.6.1" + } + }, + "node_modules/@nomicfoundation/ignition-core/node_modules/cbor": { + "version": "9.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "nofilter": "^3.1.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@nomicfoundation/ignition-ui": { + "version": "0.15.13", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@nomicfoundation/solidity-analyzer": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + }, + "optionalDependencies": { + "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.1.2", + "@nomicfoundation/solidity-analyzer-darwin-x64": "0.1.2", + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "0.1.2", + "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "0.1.2", + "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.1.2", + "@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.1.2", + "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.1.2" } }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", - "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", - "cpu": [ - "x64" - ], + "node_modules/@nomicfoundation/solidity-analyzer-darwin-arm64": { + "version": "0.1.2", "dev": true, "license": "MIT", "optional": true, - "os": [ - "sunos" - ], "engines": { - "node": ">=12" + "node": ">= 12" } }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", - "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", - "cpu": [ - "arm64" - ], + "node_modules/@nomicfoundation/solidity-analyzer-darwin-x64": { + "version": "0.1.2", "dev": true, "license": "MIT", "optional": true, - "os": [ - "win32" - ], "engines": { - "node": ">=12" + "node": ">= 12" } }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", - "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", - "cpu": [ - "ia32" - ], + "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { + "version": "0.1.2", "dev": true, "license": "MIT", "optional": true, - "os": [ - "win32" - ], "engines": { - "node": ">=12" + "node": ">= 12" } }, - "node_modules/@esbuild/win32-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", - "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-musl": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-gnu": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-musl": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@nomicfoundation/solidity-analyzer-win32-x64-msvc": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@remix-run/router": { + "version": "1.23.2", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.27", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.57.1", "cpu": [ "x64" ], @@ -803,3039 +2437,2473 @@ "license": "MIT", "optional": true, "os": [ - "win32" - ], - "engines": { - "node": ">=12" + "linux" + ] + }, + "node_modules/@scure/base": { + "version": "1.2.6", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "node_modules/@scure/bip32": { + "version": "1.4.0", "dev": true, "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.4.3" + "@noble/curves": "~1.4.0", + "@noble/hashes": "~1.4.0", + "@scure/base": "~1.1.6" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/bip32/node_modules/@noble/curves": { + "version": "1.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.4.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/bip32/node_modules/@noble/hashes": { + "version": "1.4.0", + "dev": true, + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 16" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/bip32/node_modules/@scure/base": { + "version": "1.1.9", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/bip39": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@noble/hashes": "~1.4.0", + "@scure/base": "~1.1.6" }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "node_modules/@scure/bip39/node_modules/@noble/hashes": { + "version": "1.4.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 16" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "node_modules/@scure/bip39/node_modules/@scure/base": { + "version": "1.1.9", "dev": true, "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@eslint/config-array": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", - "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "node_modules/@sentry/core": { + "version": "5.30.0", "dev": true, - "license": "Apache-2.0", + "license": "BSD-3-Clause", "dependencies": { - "@eslint/object-schema": "^2.1.7", - "debug": "^4.3.1", - "minimatch": "^3.1.2" + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=6" } }, - "node_modules/@eslint/config-helpers": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", - "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "node_modules/@sentry/core/node_modules/tslib": { + "version": "1.14.1", "dev": true, - "license": "Apache-2.0", + "license": "0BSD" + }, + "node_modules/@sentry/hub": { + "version": "5.30.0", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@eslint/core": "^0.17.0" + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=6" } }, - "node_modules/@eslint/core": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", - "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "node_modules/@sentry/hub/node_modules/tslib": { + "version": "1.14.1", "dev": true, - "license": "Apache-2.0", + "license": "0BSD" + }, + "node_modules/@sentry/minimal": { + "version": "5.30.0", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@types/json-schema": "^7.0.15" + "@sentry/hub": "5.30.0", + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=6" } }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", - "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", + "node_modules/@sentry/minimal/node_modules/tslib": { + "version": "1.14.1", "dev": true, - "license": "MIT", + "license": "0BSD" + }, + "node_modules/@sentry/node": { + "version": "5.30.0", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.1", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "@sentry/core": "5.30.0", + "@sentry/hub": "5.30.0", + "@sentry/tracing": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "cookie": "^0.4.1", + "https-proxy-agent": "^5.0.0", + "lru_map": "^0.3.3", + "tslib": "^1.9.3" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=6" } }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "node_modules/@sentry/node/node_modules/tslib": { + "version": "1.14.1", "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "0BSD" }, - "node_modules/@eslint/js": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", - "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", + "node_modules/@sentry/tracing": { + "version": "5.30.0", "dev": true, "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "dependencies": { + "@sentry/hub": "5.30.0", + "@sentry/minimal": "5.30.0", + "@sentry/types": "5.30.0", + "@sentry/utils": "5.30.0", + "tslib": "^1.9.3" }, - "funding": { - "url": "https://eslint.org/donate" + "engines": { + "node": ">=6" } }, - "node_modules/@eslint/object-schema": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", - "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "node_modules/@sentry/tracing/node_modules/tslib": { + "version": "1.14.1", "dev": true, - "license": "Apache-2.0", + "license": "0BSD" + }, + "node_modules/@sentry/types": { + "version": "5.30.0", + "dev": true, + "license": "BSD-3-Clause", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=6" } }, - "node_modules/@eslint/plugin-kit": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", - "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "node_modules/@sentry/utils": { + "version": "5.30.0", "dev": true, - "license": "Apache-2.0", + "license": "BSD-3-Clause", "dependencies": { - "@eslint/core": "^0.17.0", - "levn": "^0.4.1" + "@sentry/types": "5.30.0", + "tslib": "^1.9.3" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=6" } }, - "node_modules/@ethereumjs/rlp": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-5.0.2.tgz", - "integrity": "sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA==", + "node_modules/@sentry/utils/node_modules/tslib": { + "version": "1.14.1", "dev": true, - "license": "MPL-2.0", - "bin": { - "rlp": "bin/rlp.cjs" - }, - "engines": { - "node": ">=18" - } + "license": "0BSD" }, - "node_modules/@ethereumjs/util": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-9.1.0.tgz", - "integrity": "sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog==", + "node_modules/@sinclair/typebox": { + "version": "0.27.10", "dev": true, - "license": "MPL-2.0", - "dependencies": { - "@ethereumjs/rlp": "^5.0.2", - "ethereum-cryptography": "^2.2.1" - }, - "engines": { - "node": ">=18" - } + "license": "MIT" }, - "node_modules/@ethereumjs/util/node_modules/@noble/curves": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", - "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", + "node_modules/@sinonjs/commons": { + "version": "3.0.1", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "@noble/hashes": "1.4.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "type-detect": "4.0.8" } }, - "node_modules/@ethereumjs/util/node_modules/@noble/hashes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", - "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "node_modules/@sinonjs/commons/node_modules/type-detect": { + "version": "4.0.8", "dev": true, "license": "MIT", "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "node": ">=4" } }, - "node_modules/@ethereumjs/util/node_modules/ethereum-cryptography": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", - "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "@noble/curves": "1.4.2", - "@noble/hashes": "1.4.0", - "@scure/bip32": "1.4.0", - "@scure/bip39": "1.3.0" + "@sinonjs/commons": "^3.0.0" } }, - "node_modules/@ethersproject/abi": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.8.0.tgz", - "integrity": "sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q==", + "node_modules/@solidity-parser/parser": { + "version": "0.14.5", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "license": "MIT", + "peer": true, "dependencies": { - "@ethersproject/address": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/constants": "^5.8.0", - "@ethersproject/hash": "^5.8.0", - "@ethersproject/keccak256": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/strings": "^5.8.0" + "antlr4ts": "^0.5.0-alpha.4" } }, - "node_modules/@ethersproject/abstract-provider": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.8.0.tgz", - "integrity": "sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg==", + "node_modules/@tsconfig/node10": { + "version": "1.0.12", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/networks": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/transactions": "^5.8.0", - "@ethersproject/web": "^5.8.0" - } + "license": "MIT" }, - "node_modules/@ethersproject/abstract-signer": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.8.0.tgz", - "integrity": "sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA==", + "node_modules/@tsconfig/node12": { + "version": "1.0.11", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/abstract-provider": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0" - } + "license": "MIT" }, - "node_modules/@ethersproject/address": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.8.0.tgz", - "integrity": "sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA==", + "node_modules/@tsconfig/node14": { + "version": "1.0.3", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/keccak256": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/rlp": "^5.8.0" - } + "license": "MIT" }, - "node_modules/@ethersproject/base64": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.8.0.tgz", - "integrity": "sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ==", + "node_modules/@tsconfig/node16": { + "version": "1.0.4", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", - "dependencies": { - "@ethersproject/bytes": "^5.8.0" - } + "license": "MIT" }, - "node_modules/@ethersproject/basex": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.8.0.tgz", - "integrity": "sha512-PIgTszMlDRmNwW9nhS6iqtVfdTAKosA7llYXNmGPw4YAI1PUyMv28988wAb41/gHF/WqGdoLv0erHaRcHRKW2Q==", + "node_modules/@typechain/ethers-v6": { + "version": "0.5.1", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "license": "MIT", + "peer": true, "dependencies": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/properties": "^5.8.0" + "lodash": "^4.17.15", + "ts-essentials": "^7.0.1" + }, + "peerDependencies": { + "ethers": "6.x", + "typechain": "^8.3.2", + "typescript": ">=4.7.0" } }, - "node_modules/@ethersproject/bignumber": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.8.0.tgz", - "integrity": "sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "node_modules/@typechain/hardhat": { + "version": "9.1.0", + "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "bn.js": "^5.2.1" + "fs-extra": "^9.1.0" + }, + "peerDependencies": { + "@typechain/ethers-v6": "^0.5.1", + "ethers": "^6.1.0", + "hardhat": "^2.9.9", + "typechain": "^8.3.2" } }, - "node_modules/@ethersproject/bytes": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.8.0.tgz", - "integrity": "sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A==", + "node_modules/@typechain/hardhat/node_modules/fs-extra": { + "version": "9.1.0", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "license": "MIT", + "peer": true, "dependencies": { - "@ethersproject/logger": "^5.8.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@ethersproject/constants": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.8.0.tgz", - "integrity": "sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg==", + "node_modules/@types/babel__core": { + "version": "7.20.5", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "license": "MIT", "dependencies": { - "@ethersproject/bignumber": "^5.8.0" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/@ethersproject/contracts": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.8.0.tgz", - "integrity": "sha512-0eFjGz9GtuAi6MZwhb4uvUM216F38xiuR0yYCjKJpNfSEy4HUM8hvqqBj9Jmm0IUz8l0xKEhWwLIhPgxNY0yvQ==", + "node_modules/@types/babel__generator": { + "version": "7.27.0", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "license": "MIT", "dependencies": { - "@ethersproject/abi": "^5.8.0", - "@ethersproject/abstract-provider": "^5.8.0", - "@ethersproject/abstract-signer": "^5.8.0", - "@ethersproject/address": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/constants": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/transactions": "^5.8.0" + "@babel/types": "^7.0.0" } }, - "node_modules/@ethersproject/hash": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.8.0.tgz", - "integrity": "sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA==", + "node_modules/@types/babel__template": { + "version": "7.4.4", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "license": "MIT", "dependencies": { - "@ethersproject/abstract-signer": "^5.8.0", - "@ethersproject/address": "^5.8.0", - "@ethersproject/base64": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/keccak256": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/strings": "^5.8.0" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/@ethersproject/hdnode": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.8.0.tgz", - "integrity": "sha512-4bK1VF6E83/3/Im0ERnnUeWOY3P1BZml4ZD3wcH8Ys0/d1h1xaFt6Zc+Dh9zXf9TapGro0T4wvO71UTCp3/uoA==", + "node_modules/@types/babel__traverse": { + "version": "7.28.0", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "license": "MIT", "dependencies": { - "@ethersproject/abstract-signer": "^5.8.0", - "@ethersproject/basex": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/pbkdf2": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/sha2": "^5.8.0", - "@ethersproject/signing-key": "^5.8.0", - "@ethersproject/strings": "^5.8.0", - "@ethersproject/transactions": "^5.8.0", - "@ethersproject/wordlists": "^5.8.0" + "@babel/types": "^7.28.2" } }, - "node_modules/@ethersproject/json-wallets": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.8.0.tgz", - "integrity": "sha512-HxblNck8FVUtNxS3VTEYJAcwiKYsBIF77W15HufqlBF9gGfhmYOJtYZp8fSDZtn9y5EaXTE87zDwzxRoTFk11w==", + "node_modules/@types/bn.js": { + "version": "5.2.0", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "license": "MIT", + "peer": true, "dependencies": { - "@ethersproject/abstract-signer": "^5.8.0", - "@ethersproject/address": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/hdnode": "^5.8.0", - "@ethersproject/keccak256": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/pbkdf2": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/random": "^5.8.0", - "@ethersproject/strings": "^5.8.0", - "@ethersproject/transactions": "^5.8.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" + "@types/node": "*" } }, - "node_modules/@ethersproject/json-wallets/node_modules/aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==", + "node_modules/@types/chai": { + "version": "4.3.20", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, - "node_modules/@ethersproject/keccak256": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.8.0.tgz", - "integrity": "sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng==", + "node_modules/@types/chai-as-promised": { + "version": "7.1.8", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "license": "MIT", + "peer": true, "dependencies": { - "@ethersproject/bytes": "^5.8.0", - "js-sha3": "0.8.0" + "@types/chai": "*" } }, - "node_modules/@ethersproject/logger": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.8.0.tgz", - "integrity": "sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA==", + "node_modules/@types/concat-stream": { + "version": "1.6.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "license": "MIT" }, - "node_modules/@ethersproject/networks": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.8.0.tgz", - "integrity": "sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg==", + "node_modules/@types/form-data": { + "version": "0.0.33", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "license": "MIT", + "peer": true, "dependencies": { - "@ethersproject/logger": "^5.8.0" + "@types/node": "*" } }, - "node_modules/@ethersproject/pbkdf2": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.8.0.tgz", - "integrity": "sha512-wuHiv97BrzCmfEaPbUFpMjlVg/IDkZThp9Ri88BpjRleg4iePJaj2SW8AIyE8cXn5V1tuAaMj6lzvsGJkGWskg==", + "node_modules/@types/glob": { + "version": "7.2.0", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "license": "MIT", + "peer": true, "dependencies": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/sha2": "^5.8.0" + "@types/minimatch": "*", + "@types/node": "*" } }, - "node_modules/@ethersproject/properties": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.8.0.tgz", - "integrity": "sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw==", + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/history": { + "version": "4.7.11", + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "license": "MIT", "dependencies": { - "@ethersproject/logger": "^5.8.0" + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/@ethersproject/providers": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.8.0.tgz", - "integrity": "sha512-3Il3oTzEx3o6kzcg9ZzbE+oCZYyY+3Zh83sKkn4s1DZfTUjIegHnN2Cm0kbn9YFy45FDVcuCLLONhU7ny0SsCw==", + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "license": "MIT", "dependencies": { - "@ethersproject/abstract-provider": "^5.8.0", - "@ethersproject/abstract-signer": "^5.8.0", - "@ethersproject/address": "^5.8.0", - "@ethersproject/base64": "^5.8.0", - "@ethersproject/basex": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/constants": "^5.8.0", - "@ethersproject/hash": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/networks": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/random": "^5.8.0", - "@ethersproject/rlp": "^5.8.0", - "@ethersproject/sha2": "^5.8.0", - "@ethersproject/strings": "^5.8.0", - "@ethersproject/transactions": "^5.8.0", - "@ethersproject/web": "^5.8.0", - "bech32": "1.1.4", - "ws": "8.18.0" + "@types/istanbul-lib-report": "*" } }, - "node_modules/@ethersproject/providers/node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "node_modules/@types/jest": { + "version": "29.5.14", "dev": true, "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" } }, - "node_modules/@ethersproject/random": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.8.0.tgz", - "integrity": "sha512-E4I5TDl7SVqyg4/kkA/qTfuLWAQGXmSOgYyO01So8hLfwgKvYK5snIlzxJMk72IFdG/7oh8yuSqY2KX7MMwg+A==", + "node_modules/@types/json-schema": { + "version": "7.0.15", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/minimatch": { + "version": "5.1.2", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "license": "MIT", - "dependencies": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0" - } + "peer": true }, - "node_modules/@ethersproject/rlp": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.8.0.tgz", - "integrity": "sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q==", + "node_modules/@types/mocha": { + "version": "10.0.10", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "license": "MIT", + "peer": true + }, + "node_modules/@types/node": { + "version": "20.19.33", "license": "MIT", "dependencies": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0" + "undici-types": "~6.21.0" } }, - "node_modules/@ethersproject/sha2": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.8.0.tgz", - "integrity": "sha512-dDOUrXr9wF/YFltgTBYS0tKslPEKr6AekjqDW2dbn1L1xmjGR+9GiKu4ajxovnrDbwxAKdHjW8jNcwfz8PAz4A==", + "node_modules/@types/pbkdf2": { + "version": "3.1.2", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "license": "MIT", + "peer": true, "dependencies": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "hash.js": "1.1.7" + "@types/node": "*" } }, - "node_modules/@ethersproject/signing-key": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.8.0.tgz", - "integrity": "sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w==", + "node_modules/@types/prettier": { + "version": "2.7.3", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "license": "MIT", + "peer": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.15", + "license": "MIT" + }, + "node_modules/@types/qrcode": { + "version": "1.5.6", "license": "MIT", "dependencies": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "bn.js": "^5.2.1", - "elliptic": "6.6.1", - "hash.js": "1.1.7" + "@types/node": "*" } }, - "node_modules/@ethersproject/solidity": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.8.0.tgz", - "integrity": "sha512-4CxFeCgmIWamOHwYN9d+QWGxye9qQLilpgTU0XhYs1OahkclF+ewO+3V1U0mvpiuQxm5EHHmv8f7ClVII8EHsA==", + "node_modules/@types/qs": { + "version": "6.14.0", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "license": "MIT", + "peer": true + }, + "node_modules/@types/react": { + "version": "18.3.28", "license": "MIT", "dependencies": { - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/keccak256": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/sha2": "^5.8.0", - "@ethersproject/strings": "^5.8.0" + "@types/prop-types": "*", + "csstype": "^3.2.2" } }, - "node_modules/@ethersproject/strings": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.8.0.tgz", - "integrity": "sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg==", + "node_modules/@types/react-dom": { + "version": "18.3.7", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" + } + }, + "node_modules/@types/react-router": { + "version": "5.1.20", "license": "MIT", "dependencies": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/constants": "^5.8.0", - "@ethersproject/logger": "^5.8.0" + "@types/history": "^4.7.11", + "@types/react": "*" } }, - "node_modules/@ethersproject/transactions": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.8.0.tgz", - "integrity": "sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], + "node_modules/@types/react-router-dom": { + "version": "5.3.3", "license": "MIT", "dependencies": { - "@ethersproject/address": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/constants": "^5.8.0", - "@ethersproject/keccak256": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/rlp": "^5.8.0", - "@ethersproject/signing-key": "^5.8.0" + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "*" } }, - "node_modules/@ethersproject/units": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.8.0.tgz", - "integrity": "sha512-lxq0CAnc5kMGIiWW4Mr041VT8IhNM+Pn5T3haO74XZWFulk7wH1Gv64HqE96hT4a7iiNMdOCFEBgaxWuk8ETKQ==", + "node_modules/@types/secp256k1": { + "version": "4.0.7", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "license": "MIT", + "peer": true, "dependencies": { - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/constants": "^5.8.0", - "@ethersproject/logger": "^5.8.0" + "@types/node": "*" } }, - "node_modules/@ethersproject/wallet": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.8.0.tgz", - "integrity": "sha512-G+jnzmgg6UxurVKRKvw27h0kvG75YKXZKdlLYmAHeF32TGUzHkOFd7Zn6QHOTYRFWnfjtSSFjBowKo7vfrXzPA==", + "node_modules/@types/sinonjs__fake-timers": { + "version": "8.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/sizzle": { + "version": "2.3.10", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/yargs": { + "version": "17.0.35", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "license": "MIT", "dependencies": { - "@ethersproject/abstract-provider": "^5.8.0", - "@ethersproject/abstract-signer": "^5.8.0", - "@ethersproject/address": "^5.8.0", - "@ethersproject/bignumber": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/hash": "^5.8.0", - "@ethersproject/hdnode": "^5.8.0", - "@ethersproject/json-wallets": "^5.8.0", - "@ethersproject/keccak256": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/random": "^5.8.0", - "@ethersproject/signing-key": "^5.8.0", - "@ethersproject/transactions": "^5.8.0", - "@ethersproject/wordlists": "^5.8.0" + "@types/yargs-parser": "*" } }, - "node_modules/@ethersproject/web": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.8.0.tgz", - "integrity": "sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw==", + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/yauzl": { + "version": "2.10.3", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "license": "MIT", + "optional": true, "dependencies": { - "@ethersproject/base64": "^5.8.0", - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/strings": "^5.8.0" + "@types/node": "*" } }, - "node_modules/@ethersproject/wordlists": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.8.0.tgz", - "integrity": "sha512-2df9bbXicZws2Sb5S6ET493uJ0Z84Fjr3pC4tu/qlnZERibZCeUVuqdtt+7Tv9xxhUxHoIekIA7avrKUWHrezg==", + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.55.0", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "license": "MIT", "dependencies": { - "@ethersproject/bytes": "^5.8.0", - "@ethersproject/hash": "^5.8.0", - "@ethersproject/logger": "^5.8.0", - "@ethersproject/properties": "^5.8.0", - "@ethersproject/strings": "^5.8.0" + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.55.0", + "@typescript-eslint/type-utils": "8.55.0", + "@typescript-eslint/utils": "8.55.0", + "@typescript-eslint/visitor-keys": "8.55.0", + "ignore": "^7.0.5", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.55.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@fastify/busboy": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", - "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", "dev": true, "license": "MIT", "engines": { - "node": ">=14" + "node": ">= 4" } }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "node_modules/@typescript-eslint/parser": { + "version": "8.55.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.55.0", + "@typescript-eslint/types": "8.55.0", + "@typescript-eslint/typescript-estree": "8.55.0", + "@typescript-eslint/visitor-keys": "8.55.0", + "debug": "^4.4.3" + }, "engines": { - "node": ">=18.18.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "node_modules/@typescript-eslint/project-service": { + "version": "8.55.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" + "@typescript-eslint/tsconfig-utils": "^8.55.0", + "@typescript-eslint/types": "^8.55.0", + "debug": "^4.4.3" }, "engines": { - "node": ">=18.18.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.55.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.55.0", + "@typescript-eslint/visitor-keys": "8.55.0" + }, "engines": { - "node": ">=12.22" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.55.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "engines": { - "node": ">=18.18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "node_modules/@typescript-eslint/type-utils": { + "version": "8.55.0", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" + "@typescript-eslint/types": "8.55.0", + "@typescript-eslint/typescript-estree": "8.55.0", + "@typescript-eslint/utils": "8.55.0", + "debug": "^4.4.3", + "ts-api-utils": "^2.4.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "node_modules/@typescript-eslint/types": { + "version": "8.55.0", "dev": true, "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.55.0", "dev": true, "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.55.0", + "@typescript-eslint/tsconfig-utils": "8.55.0", + "@typescript-eslint/types": "8.55.0", + "@typescript-eslint/visitor-keys": "8.55.0", + "debug": "^4.4.3", + "minimatch": "^9.0.5", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.4.0" + }, "engines": { - "node": ">=6.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@noble/curves": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", - "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.7.4", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.55.0", "dev": true, "license": "MIT", "dependencies": { - "@noble/hashes": "1.3.2" + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.55.0", + "@typescript-eslint/types": "8.55.0", + "@typescript-eslint/typescript-estree": "8.55.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://paulmillr.com/funding/" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, - "node_modules/@noble/hashes": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", - "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.55.0", "dev": true, "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.55.0", + "eslint-visitor-keys": "^4.2.1" + }, "engines": { - "node": ">= 16" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://paulmillr.com/funding/" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@noble/secp256k1": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.7.1.tgz", - "integrity": "sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "license": "MIT" - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/@vitejs/plugin-react": { + "version": "4.7.0", "dev": true, "license": "MIT", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@babel/core": "^7.28.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.27", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" }, "engines": { - "node": ">= 8" + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/abbrev": { + "version": "1.0.9", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/acorn": { + "version": "8.15.0", "dev": true, "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, "engines": { - "node": ">= 8" + "node": ">=0.4.0" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/acorn-jsx": { + "version": "5.3.2", "dev": true, "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@nomicfoundation/edr": { - "version": "0.12.0-next.22", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr/-/edr-0.12.0-next.22.tgz", - "integrity": "sha512-JigYWf2stjpDxSndBsxRoobQHK8kz4SAVaHtTIKQLIHbsBwymE8i120Ejne6Jk+Ndc5CsNINXB8/bK6vLPe9jA==", + "node_modules/acorn-walk": { + "version": "8.3.4", "dev": true, "license": "MIT", "dependencies": { - "@nomicfoundation/edr-darwin-arm64": "0.12.0-next.22", - "@nomicfoundation/edr-darwin-x64": "0.12.0-next.22", - "@nomicfoundation/edr-linux-arm64-gnu": "0.12.0-next.22", - "@nomicfoundation/edr-linux-arm64-musl": "0.12.0-next.22", - "@nomicfoundation/edr-linux-x64-gnu": "0.12.0-next.22", - "@nomicfoundation/edr-linux-x64-musl": "0.12.0-next.22", - "@nomicfoundation/edr-win32-x64-msvc": "0.12.0-next.22" + "acorn": "^8.11.0" }, "engines": { - "node": ">= 20" + "node": ">=0.4.0" } }, - "node_modules/@nomicfoundation/edr-darwin-arm64": { - "version": "0.12.0-next.22", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-arm64/-/edr-darwin-arm64-0.12.0-next.22.tgz", - "integrity": "sha512-TpEBSKyMZJEPvYwBPYclC2b+qobKjn1YhVa7aJ1R7RMPy5dJ/PqsrUK5UuUFFybBqoIorru5NTcsyCMWP5T/Fg==", + "node_modules/adm-zip": { + "version": "0.4.16", "dev": true, "license": "MIT", "engines": { - "node": ">= 20" + "node": ">=0.3.0" } }, - "node_modules/@nomicfoundation/edr-darwin-x64": { - "version": "0.12.0-next.22", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-darwin-x64/-/edr-darwin-x64-0.12.0-next.22.tgz", - "integrity": "sha512-aK/+m8xUkR4u+czTVGU06nSFVH43AY6XCBoR2YjO8SglAAjCSTWK3WAfVb6FcsriMmKv4PrvoyHLMbMP+fXcGA==", + "node_modules/aes-js": { + "version": "4.0.0-beta.5", + "license": "MIT" + }, + "node_modules/agent-base": { + "version": "6.0.2", "dev": true, "license": "MIT", + "dependencies": { + "debug": "4" + }, "engines": { - "node": ">= 20" + "node": ">= 6.0.0" } }, - "node_modules/@nomicfoundation/edr-linux-arm64-gnu": { - "version": "0.12.0-next.22", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-gnu/-/edr-linux-arm64-gnu-0.12.0-next.22.tgz", - "integrity": "sha512-W5vXMleG14hVzRYGPEwlHLJ6iiQE8Qh63Uj538nAz4YUI6wWSgUOZE7K2Gt1EdujZGnrt7kfDslgJ96n4nKQZw==", + "node_modules/aggregate-error": { + "version": "3.1.0", "dev": true, "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, "engines": { - "node": ">= 20" + "node": ">=8" } }, - "node_modules/@nomicfoundation/edr-linux-arm64-musl": { - "version": "0.12.0-next.22", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-arm64-musl/-/edr-linux-arm64-musl-0.12.0-next.22.tgz", - "integrity": "sha512-VDp7EB3iY8MH/fFVcgEzLDGYmtS6j2honNc0RNUCFECKPrdsngGrTG8p+YFxyVjq2m5GEsdyKo4e+BKhaUNPdg==", + "node_modules/ajv": { + "version": "6.12.6", "dev": true, "license": "MIT", - "engines": { - "node": ">= 20" + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@nomicfoundation/edr-linux-x64-gnu": { - "version": "0.12.0-next.22", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-gnu/-/edr-linux-x64-gnu-0.12.0-next.22.tgz", - "integrity": "sha512-XL6oA3ymRSQYyvg6hF1KIax6V/9vlWr5gJ8GPHVVODk1a/YfuEEY1osN5Zmo6aztUkSGKwSuac/3Ax7rfDDiSg==", + "node_modules/amdefine": { + "version": "1.0.1", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause OR MIT", + "optional": true, + "peer": true, "engines": { - "node": ">= 20" + "node": ">=0.4.2" } }, - "node_modules/@nomicfoundation/edr-linux-x64-musl": { - "version": "0.12.0-next.22", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-linux-x64-musl/-/edr-linux-x64-musl-0.12.0-next.22.tgz", - "integrity": "sha512-hmkRIXxWa9P0PwfXOAO6WUw11GyV5gpxcMunqWBTkwZ4QW/hi/CkXmlLo6VHd6ceCwpUNLhCGndBtrOPrNRi4A==", + "node_modules/ansi-align": { + "version": "3.0.1", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 20" + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" } }, - "node_modules/@nomicfoundation/edr-win32-x64-msvc": { - "version": "0.12.0-next.22", - "resolved": "https://registry.npmjs.org/@nomicfoundation/edr-win32-x64-msvc/-/edr-win32-x64-msvc-0.12.0-next.22.tgz", - "integrity": "sha512-X7f+7KUMm00trsXAHCHJa+x1fc3QAbk2sBctyOgpET+GLrfCXbxqrccKi7op8f0zTweAVGg1Hsc8SjjC7kwFLw==", + "node_modules/ansi-colors": { + "version": "4.1.3", "dev": true, "license": "MIT", "engines": { - "node": ">= 20" + "node": ">=6" } }, - "node_modules/@nomicfoundation/hardhat-chai-matchers": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-chai-matchers/-/hardhat-chai-matchers-2.1.0.tgz", - "integrity": "sha512-GPhBNafh1fCnVD9Y7BYvoLnblnvfcq3j8YDbO1gGe/1nOFWzGmV7gFu5DkwFXF+IpYsS+t96o9qc/mPu3V3Vfw==", + "node_modules/ansi-escapes": { + "version": "4.3.2", "dev": true, "license": "MIT", "dependencies": { - "@types/chai-as-promised": "^7.1.3", - "chai-as-promised": "^7.1.1", - "deep-eql": "^4.0.1", - "ordinal": "^1.0.3" + "type-fest": "^0.21.3" }, - "peerDependencies": { - "@nomicfoundation/hardhat-ethers": "^3.1.0", - "chai": "^4.2.0", - "ethers": "^6.14.0", - "hardhat": "^2.26.0" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@nomicfoundation/hardhat-ethers": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-ethers/-/hardhat-ethers-3.1.3.tgz", - "integrity": "sha512-208JcDeVIl+7Wu3MhFUUtiA8TJ7r2Rn3Wr+lSx9PfsDTKkbsAsWPY6N6wQ4mtzDv0/pB9nIbJhkjoHe1EsgNsA==", - "dev": true, + "node_modules/ansi-regex": { + "version": "5.0.1", "license": "MIT", - "dependencies": { - "debug": "^4.1.1", - "lodash.isequal": "^4.5.0" - }, - "peerDependencies": { - "ethers": "^6.14.0", - "hardhat": "^2.28.0" + "engines": { + "node": ">=8" } }, - "node_modules/@nomicfoundation/hardhat-network-helpers": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.1.2.tgz", - "integrity": "sha512-p7HaUVDbLj7ikFivQVNhnfMHUBgiHYMwQWvGn9AriieuopGOELIrwj2KjyM2a6z70zai5YKO264Vwz+3UFJZPQ==", - "dev": true, + "node_modules/ansi-styles": { + "version": "4.3.0", "license": "MIT", "dependencies": { - "ethereumjs-util": "^7.1.4" + "color-convert": "^2.0.1" }, - "peerDependencies": { - "hardhat": "^2.26.0" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@nomicfoundation/hardhat-toolbox": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-toolbox/-/hardhat-toolbox-6.1.0.tgz", - "integrity": "sha512-iAIl6pIK3F4R3JXeq+b6tiShXUrp1sQRiPfqoCMUE7QLUzoFifzGV97IDRL6e73pWsMKpUQBsHBvTCsqn+ZdpA==", + "node_modules/antlr4ts": { + "version": "0.5.0-alpha.4", "dev": true, - "license": "MIT", - "peerDependencies": { - "@nomicfoundation/hardhat-chai-matchers": "^2.1.0", - "@nomicfoundation/hardhat-ethers": "^3.1.0", - "@nomicfoundation/hardhat-ignition-ethers": "^0.15.14", - "@nomicfoundation/hardhat-network-helpers": "^1.1.0", - "@nomicfoundation/hardhat-verify": "^2.1.0", - "@typechain/ethers-v6": "^0.5.0", - "@typechain/hardhat": "^9.0.0", - "@types/chai": "^4.2.0", - "@types/mocha": ">=9.1.0", - "@types/node": ">=20.0.0", - "chai": "^4.2.0", - "ethers": "^6.14.0", - "hardhat": "^2.26.0", - "hardhat-gas-reporter": "^2.3.0", - "solidity-coverage": "^0.8.1", - "ts-node": ">=8.0.0", - "typechain": "^8.3.0", - "typescript": ">=4.5.0" - } + "license": "BSD-3-Clause", + "peer": true }, - "node_modules/@nomicfoundation/hardhat-verify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@nomicfoundation/hardhat-verify/-/hardhat-verify-1.1.1.tgz", - "integrity": "sha512-9QsTYD7pcZaQFEA3tBb/D/oCStYDiEVDN7Dxeo/4SCyHRSm86APypxxdOMEPlGmXsAvd+p1j/dTODcpxb8aztA==", + "node_modules/any-promise": { + "version": "1.3.0", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "dev": true, + "license": "ISC", "dependencies": { - "@ethersproject/abi": "^5.1.2", - "@ethersproject/address": "^5.0.2", - "cbor": "^8.1.0", - "chalk": "^2.4.2", - "debug": "^4.1.1", - "lodash.clonedeep": "^4.5.0", - "semver": "^6.3.0", - "table": "^6.8.0", - "undici": "^5.14.0" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, - "peerDependencies": { - "hardhat": "^2.0.4" + "engines": { + "node": ">= 8" } }, - "node_modules/@nomicfoundation/solidity-analyzer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.2.tgz", - "integrity": "sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA==", + "node_modules/arch": { + "version": "2.2.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 12" - }, - "optionalDependencies": { - "@nomicfoundation/solidity-analyzer-darwin-arm64": "0.1.2", - "@nomicfoundation/solidity-analyzer-darwin-x64": "0.1.2", - "@nomicfoundation/solidity-analyzer-linux-arm64-gnu": "0.1.2", - "@nomicfoundation/solidity-analyzer-linux-arm64-musl": "0.1.2", - "@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.1.2", - "@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.1.2", - "@nomicfoundation/solidity-analyzer-win32-x64-msvc": "0.1.2" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/arg": { + "version": "5.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" }, - "node_modules/@nomicfoundation/solidity-analyzer-darwin-arm64": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.2.tgz", - "integrity": "sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw==", + "node_modules/array-back": { + "version": "3.1.0", "dev": true, "license": "MIT", - "optional": true, + "peer": true, "engines": { - "node": ">= 12" + "node": ">=6" } }, - "node_modules/@nomicfoundation/solidity-analyzer-darwin-x64": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.2.tgz", - "integrity": "sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw==", + "node_modules/array-union": { + "version": "2.1.0", "dev": true, "license": "MIT", - "optional": true, + "peer": true, "engines": { - "node": ">= 12" + "node": ">=8" } }, - "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-gnu": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.2.tgz", - "integrity": "sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA==", + "node_modules/array-uniq": { + "version": "1.0.3", "dev": true, "license": "MIT", - "optional": true, + "peer": true, "engines": { - "node": ">= 12" + "node": ">=0.10.0" } }, - "node_modules/@nomicfoundation/solidity-analyzer-linux-arm64-musl": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.2.tgz", - "integrity": "sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA==", + "node_modules/asap": { + "version": "2.0.6", "dev": true, "license": "MIT", - "optional": true, - "engines": { - "node": ">= 12" - } + "peer": true }, - "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-gnu": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.2.tgz", - "integrity": "sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g==", + "node_modules/asn1": { + "version": "0.2.6", "dev": true, "license": "MIT", - "optional": true, - "engines": { - "node": ">= 12" + "dependencies": { + "safer-buffer": "~2.1.0" } }, - "node_modules/@nomicfoundation/solidity-analyzer-linux-x64-musl": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.2.tgz", - "integrity": "sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg==", + "node_modules/assert-plus": { + "version": "1.0.0", "dev": true, "license": "MIT", - "optional": true, "engines": { - "node": ">= 12" + "node": ">=0.8" } }, - "node_modules/@nomicfoundation/solidity-analyzer-win32-x64-msvc": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.2.tgz", - "integrity": "sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA==", + "node_modules/assertion-error": { + "version": "1.1.0", "dev": true, "license": "MIT", - "optional": true, + "peer": true, "engines": { - "node": ">= 12" + "node": "*" } }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", - "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.57.1.tgz", - "integrity": "sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.57.1.tgz", - "integrity": "sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.57.1.tgz", - "integrity": "sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.57.1.tgz", - "integrity": "sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.57.1.tgz", - "integrity": "sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.57.1.tgz", - "integrity": "sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.57.1.tgz", - "integrity": "sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==", - "cpu": [ - "arm" - ], + "node_modules/astral-regex": { + "version": "2.0.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "engines": { + "node": ">=8" + } }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.57.1.tgz", - "integrity": "sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==", - "cpu": [ - "arm" - ], + "node_modules/async": { + "version": "3.2.6", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "MIT" }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.57.1.tgz", - "integrity": "sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==", - "cpu": [ - "arm64" - ], + "node_modules/asynckit": { + "version": "0.4.0", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "MIT" }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.57.1.tgz", - "integrity": "sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==", - "cpu": [ - "arm64" - ], + "node_modules/at-least-node": { + "version": "1.0.0", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.57.1.tgz", - "integrity": "sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==", - "cpu": [ - "loong64" - ], + "node_modules/autoprefixer": { + "version": "10.4.24", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.57.1.tgz", - "integrity": "sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==", - "cpu": [ - "loong64" + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } ], - "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.57.1.tgz", - "integrity": "sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==", - "cpu": [ - "ppc64" - ], + "dependencies": { + "browserslist": "^4.28.1", + "caniuse-lite": "^1.0.30001766", + "fraction.js": "^5.3.4", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "peer": true, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.57.1.tgz", - "integrity": "sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==", - "cpu": [ - "ppc64" - ], + "node_modules/aws-sign2": { + "version": "0.7.0", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "Apache-2.0", + "engines": { + "node": "*" + } }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.57.1.tgz", - "integrity": "sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==", - "cpu": [ - "riscv64" - ], + "node_modules/aws4": { + "version": "1.13.2", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "MIT" }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.57.1.tgz", - "integrity": "sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==", - "cpu": [ - "riscv64" - ], + "node_modules/axios": { + "version": "1.13.5", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "peer": true, + "dependencies": { + "follow-redirects": "^1.15.11", + "form-data": "^4.0.5", + "proxy-from-env": "^1.1.0" + } }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.57.1.tgz", - "integrity": "sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==", - "cpu": [ - "s390x" - ], + "node_modules/axios/node_modules/proxy-from-env": { + "version": "1.1.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "peer": true }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.57.1.tgz", - "integrity": "sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==", - "cpu": [ - "x64" - ], + "node_modules/babel-jest": { + "version": "29.7.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.57.1.tgz", - "integrity": "sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==", - "cpu": [ - "x64" - ], + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] + "license": "BSD-3-Clause", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.57.1.tgz", - "integrity": "sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==", - "cpu": [ - "x64" - ], + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ] + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.57.1.tgz", - "integrity": "sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==", - "cpu": [ - "arm64" - ], + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ] + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.57.1.tgz", - "integrity": "sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==", - "cpu": [ - "arm64" - ], + "node_modules/babel-preset-current-node-syntax": { + "version": "1.2.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" + }, + "peerDependencies": { + "@babel/core": "^7.0.0 || ^8.0.0-0" + } }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.57.1.tgz", - "integrity": "sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==", - "cpu": [ - "ia32" - ], + "node_modules/babel-preset-jest": { + "version": "29.6.3", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.57.1.tgz", - "integrity": "sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==", - "cpu": [ - "x64" - ], + "node_modules/balanced-match": { + "version": "1.0.2", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "license": "MIT" }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.57.1.tgz", - "integrity": "sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==", - "cpu": [ - "x64" - ], + "node_modules/base-x": { + "version": "3.0.11", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "peer": true, + "dependencies": { + "safe-buffer": "^5.0.1" + } }, - "node_modules/@scure/base": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.6.tgz", - "integrity": "sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg==", + "node_modules/base64-js": { + "version": "1.5.1", "dev": true, - "license": "MIT", - "funding": { - "url": "https://paulmillr.com/funding/" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.19", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" } }, - "node_modules/@scure/bip32": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.4.0.tgz", - "integrity": "sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==", + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "@noble/curves": "~1.4.0", - "@noble/hashes": "~1.4.0", - "@scure/base": "~1.1.6" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "tweetnacl": "^0.14.3" } }, - "node_modules/@scure/bip32/node_modules/@noble/curves": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", - "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", + "node_modules/bech32": { + "version": "1.1.4", "dev": true, "license": "MIT", - "dependencies": { - "@noble/hashes": "1.4.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } + "peer": true }, - "node_modules/@scure/bip32/node_modules/@noble/hashes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", - "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "node_modules/binary-extensions": { + "version": "2.3.0", "dev": true, "license": "MIT", "engines": { - "node": ">= 16" + "node": ">=8" }, "funding": { - "url": "https://paulmillr.com/funding/" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@scure/bip32/node_modules/@scure/base": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.9.tgz", - "integrity": "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==", + "node_modules/blakejs": { + "version": "1.2.1", "dev": true, "license": "MIT", - "funding": { - "url": "https://paulmillr.com/funding/" - } + "peer": true }, - "node_modules/@scure/bip39": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.3.0.tgz", - "integrity": "sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==", + "node_modules/blob-util": { + "version": "2.0.2", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/bluebird": { + "version": "3.7.2", + "dev": true, + "license": "MIT" + }, + "node_modules/bn.js": { + "version": "5.2.2", + "dev": true, + "license": "MIT" + }, + "node_modules/boxen": { + "version": "5.1.2", "dev": true, "license": "MIT", "dependencies": { - "@noble/hashes": "~1.4.0", - "@scure/base": "~1.1.6" + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://paulmillr.com/funding/" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@scure/bip39/node_modules/@noble/hashes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", - "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "node_modules/boxen/node_modules/type-fest": { + "version": "0.20.2", "dev": true, - "license": "MIT", + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">= 16" + "node": ">=10" }, "funding": { - "url": "https://paulmillr.com/funding/" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@scure/bip39/node_modules/@scure/base": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.9.tgz", - "integrity": "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==", + "node_modules/brace-expansion": { + "version": "1.1.12", "dev": true, "license": "MIT", - "funding": { - "url": "https://paulmillr.com/funding/" + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@sentry/core": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.30.0.tgz", - "integrity": "sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==", + "node_modules/braces": { + "version": "3.0.3", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" + "fill-range": "^7.1.1" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/@sentry/core/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true, - "license": "0BSD" - }, - "node_modules/@sentry/hub": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.30.0.tgz", - "integrity": "sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==", + "node_modules/brorand": { + "version": "1.1.0", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" - }, - "engines": { - "node": ">=6" - } + "license": "MIT" }, - "node_modules/@sentry/hub/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "node_modules/browser-stdout": { + "version": "1.3.1", "dev": true, - "license": "0BSD" + "license": "ISC" }, - "node_modules/@sentry/minimal": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.30.0.tgz", - "integrity": "sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==", + "node_modules/browserify-aes": { + "version": "1.2.0", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", + "peer": true, "dependencies": { - "@sentry/hub": "5.30.0", - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" - }, - "engines": { - "node": ">=6" + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/@sentry/minimal/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true, - "license": "0BSD" - }, - "node_modules/@sentry/node": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-5.30.0.tgz", - "integrity": "sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==", + "node_modules/browserslist": { + "version": "4.28.1", "dev": true, - "license": "BSD-3-Clause", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "@sentry/core": "5.30.0", - "@sentry/hub": "5.30.0", - "@sentry/tracing": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "cookie": "^0.4.1", - "https-proxy-agent": "^5.0.0", - "lru_map": "^0.3.3", - "tslib": "^1.9.3" + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" }, "engines": { - "node": ">=6" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/@sentry/node/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true, - "license": "0BSD" - }, - "node_modules/@sentry/tracing": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.30.0.tgz", - "integrity": "sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==", + "node_modules/bs-logger": { + "version": "0.2.6", "dev": true, "license": "MIT", "dependencies": { - "@sentry/hub": "5.30.0", - "@sentry/minimal": "5.30.0", - "@sentry/types": "5.30.0", - "@sentry/utils": "5.30.0", - "tslib": "^1.9.3" + "fast-json-stable-stringify": "2.x" }, "engines": { - "node": ">=6" + "node": ">= 6" } }, - "node_modules/@sentry/tracing/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true, - "license": "0BSD" - }, - "node_modules/@sentry/types": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.30.0.tgz", - "integrity": "sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==", + "node_modules/bs58": { + "version": "4.0.1", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=6" + "license": "MIT", + "peer": true, + "dependencies": { + "base-x": "^3.0.2" } }, - "node_modules/@sentry/utils": { - "version": "5.30.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.30.0.tgz", - "integrity": "sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==", + "node_modules/bs58check": { + "version": "2.1.2", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", + "peer": true, "dependencies": { - "@sentry/types": "5.30.0", - "tslib": "^1.9.3" - }, - "engines": { - "node": ">=6" + "bs58": "^4.0.0", + "create-hash": "^1.1.0", + "safe-buffer": "^5.1.2" } }, - "node_modules/@sentry/utils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "node_modules/bser": { + "version": "2.1.1", "dev": true, - "license": "0BSD" + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } }, - "node_modules/@solidity-parser/parser": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.14.5.tgz", - "integrity": "sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg==", + "node_modules/buffer": { + "version": "5.7.1", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT", "dependencies": { - "antlr4ts": "^0.5.0-alpha.4" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/@typechain/ethers-v6": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@typechain/ethers-v6/-/ethers-v6-0.4.3.tgz", - "integrity": "sha512-TrxBsyb4ryhaY9keP6RzhFCviWYApcLCIRMPyWaKp2cZZrfaM3QBoxXTnw/eO4+DAY3l+8O0brNW0WgeQeOiDA==", + "node_modules/buffer-crc32": { + "version": "0.2.13", "dev": true, "license": "MIT", - "dependencies": { - "lodash": "^4.17.15", - "ts-essentials": "^7.0.1" - }, - "peerDependencies": { - "ethers": "6.x", - "typechain": "^8.3.1", - "typescript": ">=4.7.0" + "engines": { + "node": "*" } }, - "node_modules/@typechain/hardhat": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/@typechain/hardhat/-/hardhat-8.0.3.tgz", - "integrity": "sha512-MytSmJJn+gs7Mqrpt/gWkTCOpOQ6ZDfRrRT2gtZL0rfGe4QrU4x9ZdW15fFbVM/XTa+5EsKiOMYXhRABibNeng==", + "node_modules/buffer-from": { + "version": "1.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/buffer-xor": { + "version": "1.0.3", "dev": true, "license": "MIT", - "dependencies": { - "fs-extra": "^9.1.0" - }, - "peerDependencies": { - "@typechain/ethers-v6": "^0.4.3", - "ethers": "^6.1.0", - "hardhat": "^2.9.9", - "typechain": "^8.3.1" - } + "peer": true }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "node_modules/bytes": { + "version": "3.1.2", "dev": true, "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "engines": { + "node": ">= 0.8" } }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "node_modules/cachedir": { + "version": "2.4.0", "dev": true, "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" + "engines": { + "node": ">=6" } }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "node_modules/call-bind": { + "version": "1.0.8", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.28.2" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/@types/bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.2.0.tgz", - "integrity": "sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q==", + "node_modules/call-bound": { + "version": "1.0.4", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*" + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/chai": { - "version": "4.3.20", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.20.tgz", - "integrity": "sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==", + "node_modules/callsites": { + "version": "3.1.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "node_modules/@types/chai-as-promised": { - "version": "7.1.8", - "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.8.tgz", - "integrity": "sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==", + "node_modules/camelcase": { + "version": "6.3.0", "dev": true, "license": "MIT", - "dependencies": { - "@types/chai": "*" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "node_modules/camelcase-css": { + "version": "2.0.1", "dev": true, "license": "MIT", - "dependencies": { - "@types/node": "*" + "engines": { + "node": ">= 6" } }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "node_modules/caniuse-lite": { + "version": "1.0.30001769", "dev": true, - "license": "MIT" + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" }, - "node_modules/@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", + "node_modules/caseless": { + "version": "0.12.0", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/cbor": { + "version": "8.1.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@types/node": "*" + "nofilter": "^3.1.0" + }, + "engines": { + "node": ">=12.19" } }, - "node_modules/@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "node_modules/chai": { + "version": "4.5.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.1.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/@types/history": { - "version": "4.7.11", - "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", - "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==", - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/mocha": { - "version": "10.0.10", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.10.tgz", - "integrity": "sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==", + "node_modules/chai-as-promised": { + "version": "7.1.2", "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.2.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.0.tgz", - "integrity": "sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w==", - "license": "MIT", + "license": "WTFPL", + "peer": true, "dependencies": { - "undici-types": "~7.16.0" + "check-error": "^1.0.2" + }, + "peerDependencies": { + "chai": ">= 2.1.2 < 6" } }, - "node_modules/@types/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@types/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==", + "node_modules/chalk": { + "version": "4.1.2", "dev": true, "license": "MIT", "dependencies": { - "@types/node": "*" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@types/prettier": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", - "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "node_modules/char-regex": { + "version": "1.0.2", "dev": true, - "license": "MIT" - }, - "node_modules/@types/prop-types": { - "version": "15.7.15", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", - "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", - "license": "MIT" - }, - "node_modules/@types/qrcode": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/@types/qrcode/-/qrcode-1.5.6.tgz", - "integrity": "sha512-te7NQcV2BOvdj2b1hCAHzAoMNuj65kNBMz0KBaxM6c3VGBOhU0dURQKOtH8CFNI/dsKkwlv32p26qYQTWoB5bw==", "license": "MIT", - "dependencies": { - "@types/node": "*" + "engines": { + "node": ">=10" } }, - "node_modules/@types/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", + "node_modules/charenc": { + "version": "0.0.2", "dev": true, - "license": "MIT" + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": "*" + } }, - "node_modules/@types/react": { - "version": "18.3.27", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.27.tgz", - "integrity": "sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w==", + "node_modules/check-error": { + "version": "1.0.3", + "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.2.2" + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" } }, - "node_modules/@types/react-dom": { - "version": "18.3.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", - "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", + "node_modules/check-more-types": { + "version": "2.24.0", "dev": true, "license": "MIT", - "peerDependencies": { - "@types/react": "^18.0.0" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/@types/react-router": { - "version": "5.1.20", - "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", - "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", + "node_modules/chokidar": { + "version": "4.0.3", + "dev": true, "license": "MIT", "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*" + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@types/react-router-dom": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", - "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", - "license": "MIT", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "*" + "node_modules/ci-info": { + "version": "4.4.0", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/@types/secp256k1": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.7.tgz", - "integrity": "sha512-Rcvjl6vARGAKRO6jHeKMatGrvOMGrR/AR11N1x2LqintPCyDZ7NBhrh238Z2VZc7aM7KIwnFpFQ7fnfK4H/9Qw==", + "node_modules/cipher-base": { + "version": "1.0.7", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@types/node": "*" + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.2" + }, + "engines": { + "node": ">= 0.10" } }, - "node_modules/@types/sinonjs__fake-timers": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", - "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/sizzle": { - "version": "2.3.10", - "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.10.tgz", - "integrity": "sha512-TC0dmN0K8YcWEAEfiPi5gJP14eJe30TTGjkvek3iM/1NdHHsdCA/Td6GvNndMOo/iSnIsZ4HuuhrYPDAmbxzww==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/tmp": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.6.tgz", - "integrity": "sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==", + "node_modules/cjs-module-lexer": { + "version": "1.4.3", "dev": true, "license": "MIT" }, - "node_modules/@types/yauzl": { - "version": "2.10.3", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", - "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "node_modules/clean-stack": { + "version": "2.2.0", "dev": true, "license": "MIT", - "optional": true, - "dependencies": { - "@types/node": "*" + "engines": { + "node": ">=6" } }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.54.0.tgz", - "integrity": "sha512-hAAP5io/7csFStuOmR782YmTthKBJ9ND3WVL60hcOjvtGFb+HJxH4O5huAcmcZ9v9G8P+JETiZ/G1B8MALnWZQ==", + "node_modules/cli-boxes": { + "version": "2.2.1", "dev": true, "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.54.0", - "@typescript-eslint/type-utils": "8.54.0", - "@typescript-eslint/utils": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0", - "ignore": "^7.0.5", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.4.0" - }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=6" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.54.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "node_modules/cli-cursor": { + "version": "3.1.0", "dev": true, "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, "engines": { - "node": ">= 4" + "node": ">=8" } }, - "node_modules/@typescript-eslint/parser": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.54.0.tgz", - "integrity": "sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==", + "node_modules/cli-table3": { + "version": "0.6.5", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.54.0", - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/typescript-estree": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0", - "debug": "^4.4.3" + "string-width": "^4.2.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": "10.* || >= 12.*" }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "optionalDependencies": { + "@colors/colors": "1.5.0" } }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.54.0.tgz", - "integrity": "sha512-YPf+rvJ1s7MyiWM4uTRhE4DvBXrEV+d8oC3P9Y2eT7S+HBS0clybdMIPnhiATi9vZOYDc7OQ1L/i6ga6NFYK/g==", + "node_modules/cli-truncate": { + "version": "2.1.0", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.54.0", - "@typescript-eslint/types": "^8.54.0", - "debug": "^4.4.3" + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.54.0.tgz", - "integrity": "sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==", + "node_modules/cliui": { + "version": "8.0.1", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=12" } }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.54.0.tgz", - "integrity": "sha512-dRgOyT2hPk/JwxNMZDsIXDgyl9axdJI3ogZ2XWhBPsnZUv+hPesa5iuhdYt2gzwA9t8RE5ytOJ6xB0moV0Ujvw==", + "node_modules/co": { + "version": "4.6.0", "dev": true, "license": "MIT", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.54.0.tgz", - "integrity": "sha512-hiLguxJWHjjwL6xMBwD903ciAwd7DmK30Y9Axs/etOkftC3ZNN9K44IuRD/EB08amu+Zw6W37x9RecLkOo3pMA==", + "node_modules/collect-v8-coverage": { + "version": "1.0.3", "dev": true, + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "2.0.1", "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/typescript-estree": "8.54.0", - "@typescript-eslint/utils": "8.54.0", - "debug": "^4.4.3", - "ts-api-utils": "^2.4.0" + "color-name": "~1.1.4" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "node": ">=7.0.0" } }, - "node_modules/@typescript-eslint/types": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz", - "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==", + "node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "dev": true, + "license": "MIT" + }, + "node_modules/colors": { + "version": "1.4.0", "dev": true, "license": "MIT", + "peer": true, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=0.1.90" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.54.0.tgz", - "integrity": "sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==", + "node_modules/combined-stream": { + "version": "1.0.8", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.54.0", - "@typescript-eslint/tsconfig-utils": "8.54.0", - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0", - "debug": "^4.4.3", - "minimatch": "^9.0.5", - "semver": "^7.7.3", - "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.4.0" + "delayed-stream": "~1.0.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "node": ">= 0.8" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "node_modules/command-exists": { + "version": "1.2.9", + "dev": true, + "license": "MIT" + }, + "node_modules/command-line-args": { + "version": "5.2.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "balanced-match": "^1.0.0" + "array-back": "^3.1.0", + "find-replace": "^3.0.0", + "lodash.camelcase": "^4.3.0", + "typical": "^4.0.0" + }, + "engines": { + "node": ">=4.0.0" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "node_modules/command-line-usage": { + "version": "6.1.3", "dev": true, - "license": "ISC", + "license": "MIT", + "peer": true, "dependencies": { - "brace-expansion": "^2.0.1" + "array-back": "^4.0.2", + "chalk": "^2.4.2", + "table-layout": "^1.0.2", + "typical": "^5.2.0" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=8.0.0" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "node_modules/command-line-usage/node_modules/ansi-styles": { + "version": "3.2.1", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "license": "MIT", + "peer": true, + "dependencies": { + "color-convert": "^1.9.0" }, "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/@typescript-eslint/utils": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.54.0.tgz", - "integrity": "sha512-9Cnda8GS57AQakvRyG0PTejJNlA2xhvyNtEVIMlDWOOeEyBkYWhGPnfrIAnqxLMTSTo6q8g12XVjjev5l1NvMA==", + "node_modules/command-line-usage/node_modules/array-back": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/command-line-usage/node_modules/chalk": { + "version": "2.4.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.54.0", - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/typescript-estree": "8.54.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "node": ">=4" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.54.0.tgz", - "integrity": "sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==", + "node_modules/command-line-usage/node_modules/color-convert": { + "version": "1.9.3", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@typescript-eslint/types": "8.54.0", - "eslint-visitor-keys": "^4.2.1" - }, + "color-name": "1.1.3" + } + }, + "node_modules/command-line-usage/node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/command-line-usage/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "peer": true, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=0.8.0" + } + }, + "node_modules/command-line-usage/node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" } }, - "node_modules/@vitejs/plugin-react": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", - "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", + "node_modules/command-line-usage/node_modules/supports-color": { + "version": "5.5.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@babel/core": "^7.28.0", - "@babel/plugin-transform-react-jsx-self": "^7.27.1", - "@babel/plugin-transform-react-jsx-source": "^7.27.1", - "@rolldown/pluginutils": "1.0.0-beta.27", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.17.0" + "has-flag": "^3.0.0" }, "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + "node": ">=4" } }, - "node_modules/abbrev": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", - "integrity": "sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==", - "dev": true, - "license": "ISC" - }, - "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "node_modules/command-line-usage/node_modules/typical": { + "version": "5.2.0", "dev": true, "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, + "peer": true, "engines": { - "node": ">=0.4.0" + "node": ">=8" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "node_modules/commander": { + "version": "6.2.1", "dev": true, "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "engines": { + "node": ">= 6" } }, - "node_modules/adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "node_modules/common-tags": { + "version": "1.8.2", "dev": true, "license": "MIT", "engines": { - "node": ">=0.3.0" + "node": ">=4.0.0" } }, - "node_modules/aes-js": { - "version": "4.0.0-beta.5", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", - "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==", + "node_modules/concat-map": { + "version": "0.0.1", "dev": true, "license": "MIT" }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "node_modules/concat-stream": { + "version": "1.6.2", "dev": true, + "engines": [ + "node >= 0.8" + ], "license": "MIT", + "peer": true, "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "node_modules/concat-stream/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.8", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/concat-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "safe-buffer": "~5.1.0" } }, - "node_modules/amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", + "node_modules/convert-source-map": { + "version": "2.0.0", "dev": true, - "license": "BSD-3-Clause OR MIT", - "optional": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.4.2", + "dev": true, + "license": "MIT", "engines": { - "node": ">=0.4.2" + "node": ">= 0.6" } }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "node_modules/core-util-is": { + "version": "1.0.2", "dev": true, - "license": "ISC", + "license": "MIT" + }, + "node_modules/create-hash": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "string-width": "^4.1.0" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "node_modules/create-hmac": { + "version": "1.1.7", "dev": true, "license": "MIT", - "engines": { - "node": ">=6" + "peer": true, + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/create-jest": { + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "type-fest": "^0.21.3" + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" }, - "engines": { - "node": ">=8" + "bin": { + "create-jest": "bin/create-jest.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/create-require": { + "version": "1.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "dev": true, "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/crypt": { + "version": "0.0.2", + "dev": true, + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": "*" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" + "bin": { + "cssesc": "bin/cssesc" }, "engines": { "node": ">=4" } }, - "node_modules/antlr4ts": { - "version": "0.5.0-alpha.4", - "resolved": "https://registry.npmjs.org/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz", - "integrity": "sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==", - "dev": true, - "license": "BSD-3-Clause" + "node_modules/csstype": { + "version": "3.2.3", + "license": "MIT" }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "node_modules/cypress": { + "version": "13.17.0", "dev": true, - "license": "MIT" + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@cypress/request": "^3.0.6", + "@cypress/xvfb": "^1.2.4", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.7.1", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "ci-info": "^4.0.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^6.2.1", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.4", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "getos": "^3.2.1", + "is-installed-globally": "~0.4.0", + "lazy-ass": "^1.6.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.8", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "process": "^0.11.10", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "semver": "^7.5.3", + "supports-color": "^8.1.1", + "tmp": "~0.2.3", + "tree-kill": "1.2.2", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + }, + "bin": { + "cypress": "bin/cypress" + }, + "engines": { + "node": "^16.0.0 || ^18.0.0 || >=20.0.0" + } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/cypress/node_modules/fs-extra": { + "version": "9.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">= 8" + "node": ">=10" } }, - "node_modules/arch": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", - "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true, - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "node_modules/cypress/node_modules/semver": { + "version": "7.7.4", "dev": true, - "license": "MIT", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "node_modules/cypress/node_modules/supports-color": { + "version": "8.1.1", "dev": true, "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "node_modules/dashdash": { + "version": "1.14.1", "dev": true, "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=0.10" } }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "node_modules/dayjs": { + "version": "1.11.19", "dev": true, "license": "MIT" }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "node_modules/death": { + "version": "1.1.0", + "dev": true, + "peer": true + }, + "node_modules/debug": { + "version": "4.4.3", "dev": true, "license": "MIT", "dependencies": { - "safer-buffer": "~2.1.0" + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "node_modules/decamelize": { + "version": "4.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=0.8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "node_modules/dedent": { + "version": "1.7.1", "dev": true, "license": "MIT", - "engines": { - "node": "*" + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } } }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "node_modules/deep-eql": { + "version": "4.1.4", "dev": true, "license": "MIT", + "peer": true, + "dependencies": { + "type-detect": "^4.0.0" + }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==", + "node_modules/deep-extend": { + "version": "0.6.0", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4.0.0" + } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "node_modules/deep-is": { + "version": "0.1.4", "dev": true, "license": "MIT" }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.24", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.24.tgz", - "integrity": "sha512-uHZg7N9ULTVbutaIsDRoUkoS8/h3bdsmVJYZ5l3wv8Cp/6UIIoRDm90hZ+BwxUj/hGBEzLxdHNSKuFpn8WOyZw==", + "node_modules/deepmerge": { + "version": "4.3.1", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "license": "MIT", - "dependencies": { - "browserslist": "^4.28.1", - "caniuse-lite": "^1.0.30001766", - "fraction.js": "^5.3.4", - "picocolors": "^1.1.1", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=0.10.0" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "node_modules/define-data-property": { + "version": "1.1.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "possible-typed-array-names": "^1.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -3844,3376 +4912,2723 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", - "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==", - "dev": true, - "license": "MIT" - }, - "node_modules/axios": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.4.tgz", - "integrity": "sha512-1wVkUaAO6WyaYtCkcYCOx12ZgpGf9Zif+qXa4n+oYzK558YryKqiL6UWwd5DqiH3VRW0GYhTZQ/vlgJrCoNQlg==", + "node_modules/delayed-stream": { + "version": "1.0.0", "dev": true, "license": "MIT", - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.4", - "proxy-from-env": "^1.1.0" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/axios/node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true, - "license": "MIT" - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/base-x": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.11.tgz", - "integrity": "sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==", + "node_modules/depd": { + "version": "2.0.0", "dev": true, "license": "MIT", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/baseline-browser-mapping": { - "version": "2.9.19", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", - "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.js" - } - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tweetnacl": "^0.14.3" + "engines": { + "node": ">= 0.8" } }, - "node_modules/bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "node_modules/detect-newline": { + "version": "3.1.0", "dev": true, "license": "MIT", "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==", + "node_modules/didyoumean": { + "version": "1.2.2", "dev": true, - "license": "MIT" + "license": "Apache-2.0" }, - "node_modules/blob-util": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", - "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "node_modules/diff": { + "version": "5.2.2", "dev": true, - "license": "Apache-2.0" + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "node_modules/diff-sequences": { + "version": "29.6.3", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", + "node_modules/difflib": { + "version": "0.2.4", "dev": true, + "peer": true, + "dependencies": { + "heap": ">= 0.2.0" + } + }, + "node_modules/dijkstrajs": { + "version": "1.0.3", "license": "MIT" }, - "node_modules/boxen": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", - "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "node_modules/dir-glob": { + "version": "3.0.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.2", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" + "path-type": "^4.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/boxen/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/dlv": { + "version": "1.1.3", "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, + "license": "MIT" + }, + "node_modules/dotenv": { + "version": "16.6.1", + "license": "BSD-2-Clause", "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://dotenvx.com" } }, - "node_modules/boxen/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/dunder-proto": { + "version": "1.0.1", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 0.4" } }, - "node_modules/boxen/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/ecc-jsbn": { + "version": "0.1.2", "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, - "node_modules/boxen/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/electron-to-chromium": { + "version": "1.5.286", "dev": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/boxen/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/elliptic": { + "version": "6.6.1", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/boxen/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.2", "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/boxen/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "node_modules/emittery": { + "version": "0.13.1", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "node_modules/emoji-regex": { + "version": "8.0.0", + "license": "MIT" + }, + "node_modules/end-of-stream": { + "version": "1.4.5", "dev": true, "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "once": "^1.4.0" } }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "node_modules/enquirer": { + "version": "2.4.1", "dev": true, "license": "MIT", "dependencies": { - "fill-range": "^7.1.1" + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=8" + "node": ">=8.6" } }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "node_modules/env-paths": { + "version": "2.2.1", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "node_modules/error-ex": { + "version": "1.3.4", "dev": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "node_modules/es-define-property": { + "version": "1.0.1", "dev": true, "license": "MIT", - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "engines": { + "node": ">= 0.4" } }, - "node_modules/browserslist": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", - "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "node_modules/es-errors": { + "version": "1.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.9.0", - "caniuse-lite": "^1.0.30001759", - "electron-to-chromium": "^1.5.263", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.2.0" - }, - "bin": { - "browserslist": "cli.js" + "es-errors": "^1.3.0" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">= 0.4" } }, - "node_modules/bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", + "node_modules/es-set-tostringtag": { + "version": "2.1.0", "dev": true, "license": "MIT", "dependencies": { - "base-x": "^3.0.2" + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/bs58check": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz", - "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==", + "node_modules/esbuild": { + "version": "0.21.5", "dev": true, + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "bs58": "^4.0.0", - "create-hash": "^1.1.0", - "safe-buffer": "^5.1.2" + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" } }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } + "node_modules/esbuild/node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true, "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "*" + "node": ">=12" } }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "node_modules/esbuild/node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">= 0.8" + "node": ">=12" } }, - "node_modules/cachedir": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz", - "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==", + "node_modules/esbuild/node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "node_modules/esbuild/node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "node_modules/esbuild/node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 0.4" + "node": ">=12" } }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "node_modules/esbuild/node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/esbuild/node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/esbuild/node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "node_modules/esbuild/node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 6" + "node": ">=12" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001767", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001767.tgz", - "integrity": "sha512-34+zUAMhSH+r+9eKmYG+k2Rpt8XttfE4yXAjoZvkAPs15xcYQhyBYdalJ65BzivAvGRMViEjy6oKr/S91loekQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } + "node_modules/esbuild/node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" ], - "license": "CC-BY-4.0" - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/cbor": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", - "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", "dev": true, "license": "MIT", - "dependencies": { - "nofilter": "^3.1.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=12.19" + "node": ">=12" } }, - "node_modules/chai": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", - "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", + "node_modules/esbuild/node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], "dev": true, "license": "MIT", - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.1.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/chai-as-promised": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.2.tgz", - "integrity": "sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw==", - "dev": true, - "license": "WTFPL", - "dependencies": { - "check-error": "^1.0.2" - }, - "peerDependencies": { - "chai": ">= 2.1.2 < 6" + "node_modules/esbuild/node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/esbuild/node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "node_modules/esbuild/node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "*" + "node": ">=12" } }, - "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "node_modules/esbuild/node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], "dev": true, "license": "MIT", - "dependencies": { - "get-func-name": "^2.0.2" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "*" + "node": ">=12" } }, - "node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "node_modules/esbuild/node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "readdirp": "^4.0.1" - }, + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "node": ">=12" } }, - "node_modules/ci-info": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", - "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } + "node_modules/esbuild/node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" ], + "dev": true, "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/cipher-base": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.7.tgz", - "integrity": "sha512-Mz9QMT5fJe7bKI7MH31UilT5cEK5EHHRCccw/YRFsRY47AuNgaV6HY3rscp0/I4Q+tTW/5zoqpSeRRI54TkDWA==", + "node_modules/esbuild/node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "inherits": "^2.0.4", - "safe-buffer": "^5.2.1", - "to-buffer": "^1.2.2" - }, + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">= 0.10" + "node": ">=12" } }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "node_modules/esbuild/node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "node_modules/esbuild/node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/esbuild/node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "restore-cursor": "^3.1.0" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/cli-table3": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.1.tgz", - "integrity": "sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA==", + "node_modules/escalade": { + "version": "3.2.0", "dev": true, "license": "MIT", - "dependencies": { - "string-width": "^4.2.0" - }, "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "colors": "1.4.0" + "node": ">=6" } }, - "node_modules/cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "node_modules/escape-string-regexp": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "node_modules/escodegen": { + "version": "1.8.1", "dev": true, - "license": "ISC", + "license": "BSD-2-Clause", + "peer": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "esprima": "^2.7.1", + "estraverse": "^1.9.1", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=0.12.0" + }, + "optionalDependencies": { + "source-map": "~0.2.0" } }, - "node_modules/color-convert": { + "node_modules/escodegen/node_modules/estraverse": { "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" + "peer": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true, - "license": "MIT" - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true, - "license": "MIT" - }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", "dev": true, "license": "MIT", + "peer": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, "engines": { - "node": ">=0.1.90" + "node": ">= 0.8.0" } }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "delayed-stream": "~1.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.8.0" } }, - "node_modules/command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", "dev": true, - "license": "MIT" + "peer": true, + "engines": { + "node": ">= 0.8.0" + } }, - "node_modules/command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "node_modules/escodegen/node_modules/source-map": { + "version": "0.2.0", "dev": true, - "license": "MIT", + "optional": true, + "peer": true, "dependencies": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" + "amdefine": ">=0.0.4" }, "engines": { - "node": ">=4.0.0" + "node": ">=0.8.0" } }, - "node_modules/command-line-usage": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", - "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "array-back": "^4.0.2", - "chalk": "^2.4.2", - "table-layout": "^1.0.2", - "typical": "^5.2.0" + "prelude-ls": "~1.1.2" }, "engines": { - "node": ">=8.0.0" + "node": ">= 0.8.0" } }, - "node_modules/command-line-usage/node_modules/array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "node_modules/eslint": { + "version": "9.39.2", "dev": true, "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.2", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, "engines": { - "node": ">=8" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } } }, - "node_modules/command-line-usage/node_modules/typical": { + "node_modules/eslint-plugin-react-hooks": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" } }, - "node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.26", "dev": true, "license": "MIT", - "engines": { - "node": ">= 6" + "peerDependencies": { + "eslint": ">=8.40" } }, - "node_modules/common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "node_modules/eslint-scope": { + "version": "8.4.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, "engines": { - "node": ">=4.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", "dev": true, - "license": "MIT" + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "node_modules/espree": { + "version": "10.4.0", "dev": true, - "engines": [ - "node >= 0.8" - ], - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/concat-stream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "node_modules/esprima": { + "version": "2.7.3", "dev": true, - "license": "MIT" + "license": "BSD-2-Clause", + "peer": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/esquery": { + "version": "1.7.0", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" } }, - "node_modules/concat-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/esrecurse": { + "version": "4.3.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "safe-buffer": "~5.1.0" + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" } }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "node_modules/estraverse": { + "version": "5.3.0", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "engines": { - "node": ">= 0.6" + "node": ">=4.0" } }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "node_modules/esutils": { + "version": "2.0.3", "dev": true, - "license": "MIT" + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "node_modules/eth-gas-reporter": { + "version": "0.2.27", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "@solidity-parser/parser": "^0.14.0", + "axios": "^1.5.1", + "cli-table3": "^0.5.0", + "colors": "1.4.0", + "ethereum-cryptography": "^1.0.3", + "ethers": "^5.7.2", + "fs-readdir-recursive": "^1.1.0", + "lodash": "^4.17.14", + "markdown-table": "^1.1.3", + "mocha": "^10.2.0", + "req-cwd": "^2.0.0", + "sha1": "^1.1.1", + "sync-request": "^6.0.0" + }, + "peerDependencies": { + "@codechecks/client": "^0.1.0" + }, + "peerDependenciesMeta": { + "@codechecks/client": { + "optional": true + } } }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "node_modules/eth-gas-reporter/node_modules/@noble/hashes": { + "version": "1.2.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "peer": true + }, + "node_modules/eth-gas-reporter/node_modules/@scure/base": { + "version": "1.1.9", "dev": true, "license": "MIT", - "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "peer": true, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "node_modules/eth-gas-reporter/node_modules/@scure/bip32": { + "version": "1.1.5", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "license": "MIT", + "peer": true, "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" + "@noble/hashes": "~1.2.0", + "@noble/secp256k1": "~1.7.0", + "@scure/base": "~1.1.0" } }, - "node_modules/crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "node_modules/eth-gas-reporter/node_modules/@scure/bip39": { + "version": "1.1.1", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": "*" + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "@noble/hashes": "~1.2.0", + "@scure/base": "~1.1.0" } }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "node_modules/eth-gas-reporter/node_modules/ansi-regex": { + "version": "3.0.1", "dev": true, "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, + "peer": true, "engines": { "node": ">=4" } }, - "node_modules/csstype": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "license": "MIT" - }, - "node_modules/cypress": { - "version": "15.9.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-15.9.0.tgz", - "integrity": "sha512-Ks6Bdilz3TtkLZtTQyqYaqtL/WT3X3APKaSLhTV96TmTyudzSjc6EJsJCHmBb7DxO+3R12q3Jkbjgm/iPgmwfg==", + "node_modules/eth-gas-reporter/node_modules/cli-table3": { + "version": "0.5.1", "dev": true, - "hasInstallScript": true, "license": "MIT", + "peer": true, "dependencies": { - "@cypress/request": "^3.0.10", - "@cypress/xvfb": "^1.2.4", - "@types/sinonjs__fake-timers": "8.1.1", - "@types/sizzle": "^2.3.2", - "@types/tmp": "^0.2.3", - "arch": "^2.2.0", - "blob-util": "^2.0.2", - "bluebird": "^3.7.2", - "buffer": "^5.7.1", - "cachedir": "^2.3.0", - "chalk": "^4.1.0", - "ci-info": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-table3": "0.6.1", - "commander": "^6.2.1", - "common-tags": "^1.8.0", - "dayjs": "^1.10.4", - "debug": "^4.3.4", - "enquirer": "^2.3.6", - "eventemitter2": "6.4.7", - "execa": "4.1.0", - "executable": "^4.1.1", - "extract-zip": "2.0.1", - "figures": "^3.2.0", - "fs-extra": "^9.1.0", - "hasha": "5.2.2", - "is-installed-globally": "~0.4.0", - "listr2": "^3.8.3", - "lodash": "^4.17.21", - "log-symbols": "^4.0.0", - "minimist": "^1.2.8", - "ospath": "^1.2.2", - "pretty-bytes": "^5.6.0", - "process": "^0.11.10", - "proxy-from-env": "1.0.0", - "request-progress": "^3.0.0", - "supports-color": "^8.1.1", - "systeminformation": "^5.27.14", - "tmp": "~0.2.4", - "tree-kill": "1.2.2", - "untildify": "^4.0.0", - "yauzl": "^2.10.0" - }, - "bin": { - "cypress": "bin/cypress" + "object-assign": "^4.1.0", + "string-width": "^2.1.1" }, "engines": { - "node": "^20.1.0 || ^22.0.0 || >=24.0.0" + "node": ">=6" + }, + "optionalDependencies": { + "colors": "^1.1.2" } }, - "node_modules/cypress/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/eth-gas-reporter/node_modules/ethereum-cryptography": { + "version": "1.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "@noble/hashes": "1.2.0", + "@noble/secp256k1": "1.7.1", + "@scure/bip32": "1.1.5", + "@scure/bip39": "1.1.1" } }, - "node_modules/cypress/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/eth-gas-reporter/node_modules/ethers": { + "version": "5.8.0", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "license": "MIT", + "peer": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "@ethersproject/abi": "5.8.0", + "@ethersproject/abstract-provider": "5.8.0", + "@ethersproject/abstract-signer": "5.8.0", + "@ethersproject/address": "5.8.0", + "@ethersproject/base64": "5.8.0", + "@ethersproject/basex": "5.8.0", + "@ethersproject/bignumber": "5.8.0", + "@ethersproject/bytes": "5.8.0", + "@ethersproject/constants": "5.8.0", + "@ethersproject/contracts": "5.8.0", + "@ethersproject/hash": "5.8.0", + "@ethersproject/hdnode": "5.8.0", + "@ethersproject/json-wallets": "5.8.0", + "@ethersproject/keccak256": "5.8.0", + "@ethersproject/logger": "5.8.0", + "@ethersproject/networks": "5.8.0", + "@ethersproject/pbkdf2": "5.8.0", + "@ethersproject/properties": "5.8.0", + "@ethersproject/providers": "5.8.0", + "@ethersproject/random": "5.8.0", + "@ethersproject/rlp": "5.8.0", + "@ethersproject/sha2": "5.8.0", + "@ethersproject/signing-key": "5.8.0", + "@ethersproject/solidity": "5.8.0", + "@ethersproject/strings": "5.8.0", + "@ethersproject/transactions": "5.8.0", + "@ethersproject/units": "5.8.0", + "@ethersproject/wallet": "5.8.0", + "@ethersproject/web": "5.8.0", + "@ethersproject/wordlists": "5.8.0" } }, - "node_modules/cypress/node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/eth-gas-reporter/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", "dev": true, "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, + "peer": true, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/cypress/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/eth-gas-reporter/node_modules/string-width": { + "version": "2.1.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "color-name": "~1.1.4" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=4" } }, - "node_modules/cypress/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/cypress/node_modules/has-flag": { + "node_modules/eth-gas-reporter/node_modules/strip-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "license": "MIT", + "peer": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/cypress/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/ethereum-bloom-filters": { + "version": "1.2.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "@noble/hashes": "^1.4.0" } }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "node_modules/ethereum-bloom-filters/node_modules/@noble/hashes": { + "version": "1.8.0", "dev": true, "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0" - }, + "peer": true, "engines": { - "node": ">=0.10" + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/dayjs": { - "version": "1.11.19", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz", - "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==", - "dev": true, - "license": "MIT" - }, - "node_modules/death": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/death/-/death-1.1.0.tgz", - "integrity": "sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==", - "dev": true - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "node_modules/ethereum-cryptography": { + "version": "0.1.3", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" } }, - "node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "node_modules/ethereumjs-util": { + "version": "7.1.5", "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "@types/bn.js": "^5.1.0", + "bn.js": "^5.1.2", + "create-hash": "^1.1.2", + "ethereum-cryptography": "^0.1.3", + "rlp": "^2.2.4" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=10.0.0" } }, - "node_modules/deep-eql": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", - "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", - "dev": true, + "node_modules/ethers": { + "version": "6.16.0", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/ethers-io/" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], "license": "MIT", "dependencies": { - "type-detect": "^4.0.0" + "@adraffy/ens-normalize": "1.10.1", + "@noble/curves": "1.2.0", + "@noble/hashes": "1.3.2", + "@types/node": "22.7.5", + "aes-js": "4.0.0-beta.5", + "tslib": "2.7.0", + "ws": "8.17.1" }, "engines": { - "node": ">=6" + "node": ">=14.0.0" } }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, + "node_modules/ethers/node_modules/@types/node": { + "version": "22.7.5", "license": "MIT", - "engines": { - "node": ">=4.0.0" + "dependencies": { + "undici-types": "~6.19.2" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, + "node_modules/ethers/node_modules/undici-types": { + "version": "6.19.8", "license": "MIT" }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "node_modules/ethjs-unit": { + "version": "0.1.6", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" + "bn.js": "4.11.6", + "number-to-bn": "1.7.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, - "license": "MIT", "engines": { - "node": ">=0.4.0" + "node": ">=6.5.0", + "npm": ">=3" } }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "node_modules/ethjs-unit/node_modules/bn.js": { + "version": "4.11.6", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.8" - } + "peer": true }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "node_modules/eventemitter2": { + "version": "6.4.7", "dev": true, - "license": "Apache-2.0" + "license": "MIT" }, - "node_modules/diff": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.2.tgz", - "integrity": "sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A==", + "node_modules/evp_bytestokey": { + "version": "1.0.3", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" + "license": "MIT", + "peer": true, + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, - "node_modules/difflib": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz", - "integrity": "sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==", + "node_modules/execa": { + "version": "4.1.0", "dev": true, + "license": "MIT", "dependencies": { - "heap": ">= 0.2.0" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": "*" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/dijkstrajs": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", - "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", - "license": "MIT" - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "node_modules/executable": { + "version": "4.1.1", "dev": true, "license": "MIT", "dependencies": { - "path-type": "^4.0.0" + "pify": "^2.2.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "node_modules/exit": { + "version": "0.1.2", "dev": true, - "license": "MIT" - }, - "node_modules/dotenv": { - "version": "16.6.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", - "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", - "license": "BSD-2-Clause", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" + "node": ">= 0.8.0" } }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "node_modules/expect": { + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dev": true, - "license": "MIT", - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/electron-to-chromium": { - "version": "1.5.283", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.283.tgz", - "integrity": "sha512-3vifjt1HgrGW/h76UEeny+adYApveS9dH2h3p57JYzBSXJIKUJAvtmIytDKjcSCt9xHfrNCFJ7gts6vkhuq++w==", + "node_modules/extend": { + "version": "3.0.2", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/elliptic": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", - "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", + "node_modules/extract-zip": { + "version": "2.0.1", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" } }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", - "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "node_modules/extsprintf": { + "version": "1.3.0", "dev": true, + "engines": [ + "node >=0.6.0" + ], "license": "MIT" }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "dev": true, "license": "MIT" }, - "node_modules/end-of-stream": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", - "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "node_modules/fast-glob": { + "version": "3.3.3", "dev": true, "license": "MIT", "dependencies": { - "once": "^1.4.0" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" } }, - "node_modules/enquirer": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", - "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "ansi-colors": "^4.1.1", - "strip-ansi": "^6.0.1" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=8.6" + "node": ">= 6" } }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } + "license": "MIT" }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "node_modules/fast-levenshtein": { + "version": "2.0.6", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } + "license": "MIT" }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "node_modules/fast-uri": { + "version": "3.1.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause", + "peer": true }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "node_modules/fastq": { + "version": "1.20.1", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" + "reusify": "^1.0.4" } }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "node_modules/fb-watchman": { + "version": "2.0.2", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" + "bser": "2.1.1" } }, - "node_modules/esbuild": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "node_modules/fd-slicer": { + "version": "1.1.0", "dev": true, - "hasInstallScript": true, "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" + "dependencies": { + "pend": "~1.2.0" } }, - "node_modules/escalade": { + "node_modules/figures": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", - "integrity": "sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==", - "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "esprima": "^2.7.1", - "estraverse": "^1.9.1", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" + "escape-string-regexp": "^1.0.5" }, "engines": { - "node": ">=0.12.0" + "node": ">=8" }, - "optionalDependencies": { - "source-map": "~0.2.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==", + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=0.8.0" } }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "node_modules/file-entry-cache": { + "version": "8.0.0", "dev": true, "license": "MIT", "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "flat-cache": "^4.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=16.0.0" } }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "node_modules/fill-range": { + "version": "7.1.1", "dev": true, "license": "MIT", "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true, - "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "node_modules/find-replace": { + "version": "3.0.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "prelude-ls": "~1.1.2" + "array-back": "^3.0.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">=4.0.0" } }, - "node_modules/eslint": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", - "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", + "node_modules/find-up": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.1", - "@eslint/config-helpers": "^0.4.2", - "@eslint/core": "^0.17.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.2", - "@eslint/plugin-kit": "^0.4.1", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=10" }, "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-plugin-react-hooks": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", - "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", + "node_modules/flat": { + "version": "5.0.2", "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" } }, - "node_modules/eslint-plugin-react-refresh": { - "version": "0.4.26", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.26.tgz", - "integrity": "sha512-1RETEylht2O6FM/MvgnyvT+8K21wLqDNg4qD51Zj3guhjt433XbnnkVttHMyaVyAFD03QSV4LPS5iE3VQmO7XQ==", + "node_modules/flat-cache": { + "version": "4.0.1", "dev": true, "license": "MIT", - "peerDependencies": { - "eslint": ">=8.40" - } - }, - "node_modules/eslint-scope": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", - "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "flatted": "^3.2.9", + "keyv": "^4.5.4" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=16" } }, - "node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "node_modules/flatted": { + "version": "3.3.3", "dev": true, - "license": "Apache-2.0", + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=4.0" }, - "funding": { - "url": "https://opencollective.com/eslint" + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/for-each": { + "version": "0.3.5", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "color-convert": "^2.0.1" + "is-callable": "^1.2.7" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/forever-agent": { + "version": "0.6.1", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "license": "Apache-2.0", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": "*" } }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/form-data": { + "version": "4.0.5", "dev": true, "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" }, "engines": { - "node": ">=7.0.0" + "node": ">= 6" } }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/fp-ts": { + "version": "1.19.3", "dev": true, "license": "MIT" }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/fraction.js": { + "version": "5.3.4", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/rawify" } }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, + "node_modules/framer-motion": { + "version": "11.18.2", "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "motion-dom": "^11.18.1", + "motion-utils": "^11.18.1", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "@emotion/is-prop-valid": "*", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@emotion/is-prop-valid": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } } }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/fs-extra": { + "version": "10.1.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/espree": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "node_modules/fs-readdir-recursive": { + "version": "1.1.0", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.15.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } + "license": "MIT", + "peer": true }, - "node_modules/esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==", + "node_modules/fs.realpath": { + "version": "1.0.0", "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=0.10.0" - } + "license": "ISC" }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "node_modules/function-bind": { + "version": "1.1.2", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "node_modules/gensync": { + "version": "1.0.0-beta.2", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, + "license": "MIT", "engines": { - "node": ">=4.0" + "node": ">=6.9.0" } }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", + "node_modules/get-caller-file": { + "version": "2.0.5", + "license": "ISC", "engines": { - "node": ">=4.0" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "node_modules/get-func-name": { + "version": "2.0.2", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", + "peer": true, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/eth-gas-reporter": { - "version": "0.2.27", - "resolved": "https://registry.npmjs.org/eth-gas-reporter/-/eth-gas-reporter-0.2.27.tgz", - "integrity": "sha512-femhvoAM7wL0GcI8ozTdxfuBtBFJ9qsyIAsmKVjlWAHUbdnnXHt+lKzz/kmldM5lA9jLuNHGwuIxorNpLbR1Zw==", + "node_modules/get-intrinsic": { + "version": "1.3.0", "dev": true, "license": "MIT", "dependencies": { - "@solidity-parser/parser": "^0.14.0", - "axios": "^1.5.1", - "cli-table3": "^0.5.0", - "colors": "1.4.0", - "ethereum-cryptography": "^1.0.3", - "ethers": "^5.7.2", - "fs-readdir-recursive": "^1.1.0", - "lodash": "^4.17.14", - "markdown-table": "^1.1.3", - "mocha": "^10.2.0", - "req-cwd": "^2.0.0", - "sha1": "^1.1.1", - "sync-request": "^6.0.0" + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, - "peerDependencies": { - "@codechecks/client": "^0.1.0" + "engines": { + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "@codechecks/client": { - "optional": true - } - } - }, - "node_modules/eth-gas-reporter/node_modules/@noble/hashes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", - "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "license": "MIT" - }, - "node_modules/eth-gas-reporter/node_modules/@scure/base": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.9.tgz", - "integrity": "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==", - "dev": true, - "license": "MIT", "funding": { - "url": "https://paulmillr.com/funding/" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eth-gas-reporter/node_modules/@scure/bip32": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.5.tgz", - "integrity": "sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==", + "node_modules/get-package-type": { + "version": "0.1.0", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], "license": "MIT", - "dependencies": { - "@noble/hashes": "~1.2.0", - "@noble/secp256k1": "~1.7.0", - "@scure/base": "~1.1.0" + "engines": { + "node": ">=8.0.0" } }, - "node_modules/eth-gas-reporter/node_modules/@scure/bip39": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.1.tgz", - "integrity": "sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==", + "node_modules/get-port": { + "version": "3.2.0", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], "license": "MIT", - "dependencies": { - "@noble/hashes": "~1.2.0", - "@scure/base": "~1.1.0" + "peer": true, + "engines": { + "node": ">=4" } }, - "node_modules/eth-gas-reporter/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "node_modules/get-proto": { + "version": "1.0.1", "dev": true, "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, "engines": { - "node": ">=4" + "node": ">= 0.4" } - }, - "node_modules/eth-gas-reporter/node_modules/cli-table3": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", - "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + }, + "node_modules/get-stream": { + "version": "5.2.0", "dev": true, "license": "MIT", "dependencies": { - "object-assign": "^4.1.0", - "string-width": "^2.1.1" + "pump": "^3.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" }, - "optionalDependencies": { - "colors": "^1.1.2" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eth-gas-reporter/node_modules/ethereum-cryptography": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", - "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", + "node_modules/getos": { + "version": "3.2.1", "dev": true, "license": "MIT", "dependencies": { - "@noble/hashes": "1.2.0", - "@noble/secp256k1": "1.7.1", - "@scure/bip32": "1.1.5", - "@scure/bip39": "1.1.1" + "async": "^3.2.0" } }, - "node_modules/eth-gas-reporter/node_modules/ethers": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.8.0.tgz", - "integrity": "sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg==", + "node_modules/getpass": { + "version": "0.1.7", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], "license": "MIT", "dependencies": { - "@ethersproject/abi": "5.8.0", - "@ethersproject/abstract-provider": "5.8.0", - "@ethersproject/abstract-signer": "5.8.0", - "@ethersproject/address": "5.8.0", - "@ethersproject/base64": "5.8.0", - "@ethersproject/basex": "5.8.0", - "@ethersproject/bignumber": "5.8.0", - "@ethersproject/bytes": "5.8.0", - "@ethersproject/constants": "5.8.0", - "@ethersproject/contracts": "5.8.0", - "@ethersproject/hash": "5.8.0", - "@ethersproject/hdnode": "5.8.0", - "@ethersproject/json-wallets": "5.8.0", - "@ethersproject/keccak256": "5.8.0", - "@ethersproject/logger": "5.8.0", - "@ethersproject/networks": "5.8.0", - "@ethersproject/pbkdf2": "5.8.0", - "@ethersproject/properties": "5.8.0", - "@ethersproject/providers": "5.8.0", - "@ethersproject/random": "5.8.0", - "@ethersproject/rlp": "5.8.0", - "@ethersproject/sha2": "5.8.0", - "@ethersproject/signing-key": "5.8.0", - "@ethersproject/solidity": "5.8.0", - "@ethersproject/strings": "5.8.0", - "@ethersproject/transactions": "5.8.0", - "@ethersproject/units": "5.8.0", - "@ethersproject/wallet": "5.8.0", - "@ethersproject/web": "5.8.0", - "@ethersproject/wordlists": "5.8.0" + "assert-plus": "^1.0.0" } }, - "node_modules/eth-gas-reporter/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "node_modules/ghost-testrpc": { + "version": "0.0.2", "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" + "license": "ISC", + "peer": true, + "dependencies": { + "chalk": "^2.4.2", + "node-emoji": "^1.10.0" + }, + "bin": { + "testrpc-sc": "index.js" } }, - "node_modules/eth-gas-reporter/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "node_modules/ghost-testrpc/node_modules/ansi-styles": { + "version": "3.2.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "color-convert": "^1.9.0" }, "engines": { "node": ">=4" } }, - "node_modules/eth-gas-reporter/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "node_modules/ghost-testrpc/node_modules/chalk": { + "version": "2.4.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "ansi-regex": "^3.0.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { "node": ">=4" } }, - "node_modules/ethereum-bloom-filters": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ethereum-bloom-filters/-/ethereum-bloom-filters-1.2.0.tgz", - "integrity": "sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA==", + "node_modules/ghost-testrpc/node_modules/color-convert": { + "version": "1.9.3", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@noble/hashes": "^1.4.0" + "color-name": "1.1.3" } }, - "node_modules/ethereum-bloom-filters/node_modules/@noble/hashes": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz", - "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==", + "node_modules/ghost-testrpc/node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/ghost-testrpc/node_modules/escape-string-regexp": { + "version": "1.0.5", "dev": true, "license": "MIT", + "peer": true, "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "node": ">=0.8.0" } }, - "node_modules/ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "node_modules/ghost-testrpc/node_modules/has-flag": { + "version": "3.0.0", "dev": true, "license": "MIT", - "dependencies": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" + "peer": true, + "engines": { + "node": ">=4" } }, - "node_modules/ethereumjs-util": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz", - "integrity": "sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==", + "node_modules/ghost-testrpc/node_modules/supports-color": { + "version": "5.5.0", "dev": true, - "license": "MPL-2.0", + "license": "MIT", + "peer": true, "dependencies": { - "@types/bn.js": "^5.1.0", - "bn.js": "^5.1.2", - "create-hash": "^1.1.2", - "ethereum-cryptography": "^0.1.3", - "rlp": "^2.2.4" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=10.0.0" + "node": ">=4" } }, - "node_modules/ethers": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.16.0.tgz", - "integrity": "sha512-U1wulmetNymijEhpSEQ7Ct/P/Jw9/e7R1j5XIbPRydgV2DjLVMsULDlNksq3RQnFgKoLlZf88ijYtWEXcPa07A==", + "node_modules/glob": { + "version": "7.2.3", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/ethers-io/" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "license": "MIT", + "license": "ISC", "dependencies": { - "@adraffy/ens-normalize": "1.10.1", - "@noble/curves": "1.2.0", - "@noble/hashes": "1.3.2", - "@types/node": "22.7.5", - "aes-js": "4.0.0-beta.5", - "tslib": "2.7.0", - "ws": "8.17.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=14.0.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/ethers/node_modules/@types/node": { - "version": "22.7.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz", - "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==", + "node_modules/glob-parent": { + "version": "6.0.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "undici-types": "~6.19.2" + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" } }, - "node_modules/ethers/node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", - "dev": true, - "license": "MIT" - }, - "node_modules/ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==", + "node_modules/global-dirs": { + "version": "3.0.1", "dev": true, "license": "MIT", "dependencies": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" + "ini": "2.0.0" }, "engines": { - "node": ">=6.5.0", - "npm": ">=3" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ethjs-unit/node_modules/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", - "dev": true, - "license": "MIT" - }, - "node_modules/eventemitter2": { - "version": "6.4.7", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", - "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", + "node_modules/global-modules": { + "version": "2.0.0", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true, + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "node_modules/global-prefix": { + "version": "3.0.0", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" } }, - "node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "node_modules/global-prefix/node_modules/ini": { + "version": "1.3.8", "dev": true, - "license": "MIT", + "license": "ISC", + "peer": true + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "dev": true, + "license": "ISC", + "peer": true, "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" + "isexe": "^2.0.0" }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "15.15.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/executable": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", - "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "node_modules/globby": { + "version": "10.0.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "pify": "^2.2.0" + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "node_modules/gopd": { + "version": "1.2.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "node_modules/graceful-fs": { + "version": "4.2.11", "dev": true, - "license": "BSD-2-Clause", + "license": "ISC" + }, + "node_modules/handlebars": { + "version": "4.7.8", + "dev": true, + "license": "MIT", "dependencies": { - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" }, "bin": { - "extract-zip": "cli.js" + "handlebars": "bin/handlebars" }, "engines": { - "node": ">= 10.17.0" + "node": ">=0.4.7" }, "optionalDependencies": { - "@types/yauzl": "^2.9.1" + "uglify-js": "^3.1.4" } }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "license": "MIT" - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "node_modules/hardhat": { + "version": "2.28.6", "dev": true, "license": "MIT", "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" + "@ethereumjs/util": "^9.1.0", + "@ethersproject/abi": "^5.1.2", + "@nomicfoundation/edr": "0.12.0-next.23", + "@nomicfoundation/solidity-analyzer": "^0.1.0", + "@sentry/node": "^5.18.1", + "adm-zip": "^0.4.16", + "aggregate-error": "^3.0.0", + "ansi-escapes": "^4.3.0", + "boxen": "^5.1.2", + "chokidar": "^4.0.0", + "ci-info": "^2.0.0", + "debug": "^4.1.1", + "enquirer": "^2.3.0", + "env-paths": "^2.2.0", + "ethereum-cryptography": "^1.0.3", + "find-up": "^5.0.0", + "fp-ts": "1.19.3", + "fs-extra": "^7.0.1", + "immutable": "^4.0.0-rc.12", + "io-ts": "1.10.4", + "json-stream-stringify": "^3.1.4", + "keccak": "^3.0.2", + "lodash": "^4.17.11", + "micro-eth-signer": "^0.14.0", + "mnemonist": "^0.38.0", + "mocha": "^10.0.0", + "p-map": "^4.0.0", + "picocolors": "^1.1.0", + "raw-body": "^2.4.1", + "resolve": "1.17.0", + "semver": "^6.3.0", + "solc": "0.8.26", + "source-map-support": "^0.5.13", + "stacktrace-parser": "^0.1.10", + "tinyglobby": "^0.2.6", + "tsort": "0.0.1", + "undici": "^5.14.0", + "uuid": "^8.3.2", + "ws": "^7.4.6" }, - "engines": { - "node": ">=8.6.0" + "bin": { + "hardhat": "internal/cli/bootstrap.js" + }, + "peerDependencies": { + "ts-node": "*", + "typescript": "*" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + }, + "typescript": { + "optional": true + } } }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/hardhat-gas-reporter": { + "version": "1.0.10", "dev": true, - "license": "ISC", + "license": "MIT", + "peer": true, "dependencies": { - "is-glob": "^4.0.1" + "array-uniq": "1.0.3", + "eth-gas-reporter": "^0.2.25", + "sha1": "^1.1.1" }, - "engines": { - "node": ">= 6" + "peerDependencies": { + "hardhat": "^2.0.2" } }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", - "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "node_modules/hardhat/node_modules/@noble/hashes": { + "version": "1.2.0", "dev": true, "funding": [ { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" + "type": "individual", + "url": "https://paulmillr.com/funding/" } ], - "license": "BSD-3-Clause" - }, - "node_modules/fastq": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", - "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } + "license": "MIT" }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "node_modules/hardhat/node_modules/@scure/base": { + "version": "1.1.9", "dev": true, "license": "MIT", - "dependencies": { - "pend": "~1.2.0" + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "node_modules/hardhat/node_modules/@scure/bip32": { + "version": "1.1.5", "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" } - } - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, + ], "license": "MIT", "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@noble/hashes": "~1.2.0", + "@noble/secp256k1": "~1.7.0", + "@scure/base": "~1.1.0" } }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "node_modules/hardhat/node_modules/@scure/bip39": { + "version": "1.1.1", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "license": "MIT", "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" + "@noble/hashes": "~1.2.0", + "@scure/base": "~1.1.0" } }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "node_modules/hardhat/node_modules/ci-info": { + "version": "2.0.0", "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "node_modules/hardhat/node_modules/ethereum-cryptography": { + "version": "1.2.0", "dev": true, "license": "MIT", "dependencies": { - "array-back": "^3.0.1" - }, - "engines": { - "node": ">=4.0.0" + "@noble/hashes": "1.2.0", + "@noble/secp256k1": "1.7.1", + "@scure/bip32": "1.1.5", + "@scure/bip39": "1.1.1" } }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "node_modules/hardhat/node_modules/fs-extra": { + "version": "7.0.1", "dev": true, "license": "MIT", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6 <7 || >=8" } }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "node_modules/hardhat/node_modules/jsonfile": { + "version": "4.0.0", "dev": true, - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "node_modules/hardhat/node_modules/universalify": { + "version": "0.1.2", "dev": true, "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, "engines": { - "node": ">=16" + "node": ">= 4.0.0" } }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true, - "license": "ISC" - }, - "node_modules/follow-redirects": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "node_modules/hardhat/node_modules/ws": { + "version": "7.5.10", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], "license": "MIT", "engines": { - "node": ">=4.0" + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" }, "peerDependenciesMeta": { - "debug": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { "optional": true } } }, - "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "node_modules/has-flag": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "dev": true, - "license": "Apache-2.0", "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/form-data": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", - "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "node_modules/has-property-descriptors": { + "version": "1.0.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.12" + "es-define-property": "^1.0.0" }, - "engines": { - "node": ">= 6" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fp-ts": { - "version": "1.19.3", - "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-1.19.3.tgz", - "integrity": "sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==", - "dev": true, - "license": "MIT" - }, - "node_modules/fraction.js": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", - "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", + "node_modules/has-symbols": { + "version": "1.1.0", "dev": true, "license": "MIT", "engines": { - "node": "*" + "node": ">= 0.4" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/rawify" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/framer-motion": { - "version": "11.18.2", - "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-11.18.2.tgz", - "integrity": "sha512-5F5Och7wrvtLVElIpclDT0CBzMVg3dL22B64aZwHtsIY8RB4mXICLrkajK4G9R+ieSAGcgrLeae2SeUTg2pr6w==", + "node_modules/has-tostringtag": { + "version": "1.0.2", + "dev": true, "license": "MIT", "dependencies": { - "motion-dom": "^11.18.1", - "motion-utils": "^11.18.1", - "tslib": "^2.4.0" + "has-symbols": "^1.0.3" }, - "peerDependencies": { - "@emotion/is-prop-valid": "*", - "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0" + "engines": { + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "@emotion/is-prop-valid": { - "optional": true - }, - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "node_modules/hash-base": { + "version": "3.1.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "inherits": "^2.0.4", + "readable-stream": "^2.3.8", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.1" }, "engines": { - "node": ">=10" + "node": ">= 0.8" } }, - "node_modules/fs-readdir-recursive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", - "dev": true, - "license": "MIT" - }, - "node_modules/fs.realpath": { + "node_modules/hash-base/node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true, - "license": "ISC" + "license": "MIT", + "peer": true }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "node_modules/hash-base/node_modules/readable-stream": { + "version": "2.3.8", "dev": true, - "hasInstallScript": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "node_modules/hash-base/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", "dev": true, "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "peer": true }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "node_modules/hash-base/node_modules/string_decoder": { + "version": "1.1.1", "dev": true, "license": "MIT", - "engines": { - "node": ">=6.9.0" + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } + "node_modules/hash-base/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "peer": true }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "node_modules/hash.js": { + "version": "1.1.7", "dev": true, "license": "MIT", - "engines": { - "node": "*" + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "node_modules/hasown": { + "version": "2.0.2", "dev": true, "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" + "function-bind": "^1.1.2" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-port": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", + "node_modules/he": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/heap": { + "version": "0.2.7", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", "dev": true, + "license": "MIT" + }, + "node_modules/html-parse-stringify": { + "version": "3.0.1", "license": "MIT", - "engines": { - "node": ">=4" + "dependencies": { + "void-elements": "3.1.0" } }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "node_modules/http-basic": { + "version": "8.1.3", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" + "caseless": "^0.12.0", + "concat-stream": "^1.6.2", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=6.0.0" } }, - "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "node_modules/http-errors": { + "version": "2.0.1", "dev": true, "license": "MIT", "dependencies": { - "pump": "^3.0.0" + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 0.8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "node_modules/http-response-object": { + "version": "3.0.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "assert-plus": "^1.0.0" + "@types/node": "^10.0.3" } }, - "node_modules/ghost-testrpc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz", - "integrity": "sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==", + "node_modules/http-response-object/node_modules/@types/node": { + "version": "10.17.60", "dev": true, - "license": "ISC", - "dependencies": { - "chalk": "^2.4.2", - "node-emoji": "^1.10.0" - }, - "bin": { - "testrpc-sc": "index.js" - } + "license": "MIT", + "peer": true }, - "node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "node_modules/http-signature": { + "version": "1.4.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.18.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=0.10" } }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/https-proxy-agent": { + "version": "5.0.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "is-glob": "^4.0.3" + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=10.13.0" + "node": ">= 6" } }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "node_modules/human-signals": { + "version": "1.1.1", "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/i18next": { + "version": "23.16.8", + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "@babel/runtime": "^7.23.2" } }, - "node_modules/glob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "license": "ISC", + "node_modules/i18next-browser-languagedetector": { + "version": "7.2.2", + "license": "MIT", "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" + "@babel/runtime": "^7.23.2" } }, - "node_modules/global-dirs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", - "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "node_modules/iconv-lite": { + "version": "0.4.24", "dev": true, "license": "MIT", "dependencies": { - "ini": "2.0.0" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "node_modules/idb": { + "version": "8.0.3", + "license": "ISC" + }, + "node_modules/ieee754": { + "version": "1.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.2", "dev": true, "license": "MIT", - "dependencies": { - "global-prefix": "^3.0.0" - }, "engines": { - "node": ">=6" + "node": ">= 4" } }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "node_modules/immer": { + "version": "10.0.2", "dev": true, "license": "MIT", - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" } }, - "node_modules/global-prefix/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "node_modules/immutable": { + "version": "4.3.7", "dev": true, - "license": "ISC" + "license": "MIT" }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/import-fresh": { + "version": "3.3.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "isexe": "^2.0.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/globals": { - "version": "15.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", - "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", - "dev": true, - "license": "MIT", "engines": { - "node": ">=18" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "node_modules/import-local": { + "version": "3.2.0", "dev": true, "license": "MIT", "dependencies": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globby/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "node_modules/imurmurhash": { + "version": "0.1.4", "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, + "license": "MIT", "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=0.8.19" } }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "node_modules/indent-string": { + "version": "4.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "node_modules/inherits": { + "version": "2.0.4", "dev": true, "license": "ISC" }, - "node_modules/handlebars": { - "version": "4.7.8", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", - "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "node_modules/ini": { + "version": "2.0.0", "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.2", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" - }, - "bin": { - "handlebars": "bin/handlebars" - }, + "license": "ISC", "engines": { - "node": ">=0.4.7" - }, - "optionalDependencies": { - "uglify-js": "^3.1.4" + "node": ">=10" } }, - "node_modules/handlebars/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/interpret": { + "version": "1.4.0", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", + "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/hardhat": { - "version": "2.28.4", - "resolved": "https://registry.npmjs.org/hardhat/-/hardhat-2.28.4.tgz", - "integrity": "sha512-iQC4WNWjWMz7cVVFqzEBNisUQ/EEEJrWysJ2hRAMTnfXJx6Y11UXdmtz4dHIzvGL0z27XCCaJrcApDPH0KaZEg==", + "node_modules/io-ts": { + "version": "1.10.4", "dev": true, "license": "MIT", "dependencies": { - "@ethereumjs/util": "^9.1.0", - "@ethersproject/abi": "^5.1.2", - "@nomicfoundation/edr": "0.12.0-next.22", - "@nomicfoundation/solidity-analyzer": "^0.1.0", - "@sentry/node": "^5.18.1", - "adm-zip": "^0.4.16", - "aggregate-error": "^3.0.0", - "ansi-escapes": "^4.3.0", - "boxen": "^5.1.2", - "chokidar": "^4.0.0", - "ci-info": "^2.0.0", - "debug": "^4.1.1", - "enquirer": "^2.3.0", - "env-paths": "^2.2.0", - "ethereum-cryptography": "^1.0.3", - "find-up": "^5.0.0", - "fp-ts": "1.19.3", - "fs-extra": "^7.0.1", - "immutable": "^4.0.0-rc.12", - "io-ts": "1.10.4", - "json-stream-stringify": "^3.1.4", - "keccak": "^3.0.2", - "lodash": "^4.17.11", - "micro-eth-signer": "^0.14.0", - "mnemonist": "^0.38.0", - "mocha": "^10.0.0", - "p-map": "^4.0.0", - "picocolors": "^1.1.0", - "raw-body": "^2.4.1", - "resolve": "1.17.0", - "semver": "^6.3.0", - "solc": "0.8.26", - "source-map-support": "^0.5.13", - "stacktrace-parser": "^0.1.10", - "tinyglobby": "^0.2.6", - "tsort": "0.0.1", - "undici": "^5.14.0", - "uuid": "^8.3.2", - "ws": "^7.4.6" - }, - "bin": { - "hardhat": "internal/cli/bootstrap.js" - }, - "peerDependencies": { - "ts-node": "*", - "typescript": "*" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - }, - "typescript": { - "optional": true - } + "fp-ts": "^1.0.0" } }, - "node_modules/hardhat-gas-reporter": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.10.tgz", - "integrity": "sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA==", + "node_modules/is-arrayish": { + "version": "0.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", "dev": true, "license": "MIT", "dependencies": { - "array-uniq": "1.0.3", - "eth-gas-reporter": "^0.2.25", - "sha1": "^1.1.1" + "binary-extensions": "^2.0.0" }, - "peerDependencies": { - "hardhat": "^2.0.2" + "engines": { + "node": ">=8" } }, - "node_modules/hardhat/node_modules/@noble/hashes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz", - "integrity": "sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "license": "MIT" - }, - "node_modules/hardhat/node_modules/@scure/base": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.9.tgz", - "integrity": "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==", + "node_modules/is-callable": { + "version": "1.2.7", "dev": true, "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.4" + }, "funding": { - "url": "https://paulmillr.com/funding/" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hardhat/node_modules/@scure/bip32": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.1.5.tgz", - "integrity": "sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==", + "node_modules/is-core-module": { + "version": "2.16.1", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], "license": "MIT", "dependencies": { - "@noble/hashes": "~1.2.0", - "@noble/secp256k1": "~1.7.0", - "@scure/base": "~1.1.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hardhat/node_modules/@scure/bip39": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.1.1.tgz", - "integrity": "sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==", + "node_modules/is-extglob": { + "version": "2.1.1", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], "license": "MIT", - "dependencies": { - "@noble/hashes": "~1.2.0", - "@scure/base": "~1.1.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/hardhat/node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true, - "license": "MIT" + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/hardhat/node_modules/ethereum-cryptography": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz", - "integrity": "sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==", + "node_modules/is-generator-fn": { + "version": "2.1.0", "dev": true, "license": "MIT", - "dependencies": { - "@noble/hashes": "1.2.0", - "@noble/secp256k1": "1.7.1", - "@scure/bip32": "1.1.5", - "@scure/bip39": "1.1.1" + "engines": { + "node": ">=6" } }, - "node_modules/hardhat/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "node_modules/is-glob": { + "version": "4.0.3", "dev": true, "license": "MIT", "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">=6 <7 || >=8" + "node": ">=0.10.0" } }, - "node_modules/hardhat/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "node_modules/is-hex-prefixed": { + "version": "1.0.0", "dev": true, "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "peer": true, + "engines": { + "node": ">=6.5.0", + "npm": ">=3" } }, - "node_modules/hardhat/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "node_modules/is-installed-globally": { + "version": "0.4.0", "dev": true, "license": "MIT", + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, "engines": { - "node": ">= 4.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/hardhat/node_modules/ws": { - "version": "7.5.10", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", - "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "node_modules/is-number": { + "version": "7.0.0", "dev": true, "license": "MIT", "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "node": ">=0.12.0" } }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/is-path-inside": { + "version": "3.0.3", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "node_modules/is-plain-obj": { + "version": "2.1.0", "dev": true, "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "node_modules/is-stream": { + "version": "2.0.1", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "node_modules/is-typed-array": { + "version": "1.1.15", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "has-symbols": "^1.0.3" + "which-typed-array": "^1.1.16" }, "engines": { "node": ">= 0.4" @@ -7222,468 +7637,536 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hash-base": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.2.tgz", - "integrity": "sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^2.3.8", - "safe-buffer": "^5.2.1", - "to-buffer": "^1.2.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/hash-base/node_modules/isarray": { + "node_modules/is-typedarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true, "license": "MIT" }, - "node_modules/hash-base/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/is-unicode-supported": { + "version": "0.1.0", "dev": true, "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/hash-base/node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "node_modules/isarray": { + "version": "2.0.5", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, - "node_modules/hash-base/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/isexe": { + "version": "2.0.0", "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } + "license": "ISC" }, - "node_modules/hash-base/node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "node_modules/isstream": { + "version": "0.1.2", "dev": true, "license": "MIT" }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" } }, - "node_modules/hasha": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", - "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "is-stream": "^2.0.0", - "type-fest": "^0.8.0" + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10" } }, - "node_modules/hasha/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "7.7.4", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "function-bind": "^1.1.2" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" } }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", "dev": true, - "license": "MIT", - "bin": { - "he": "bin/he" + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" } }, - "node_modules/heap": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", - "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==", - "dev": true, - "license": "MIT" - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "node_modules/istanbul-reports": { + "version": "3.2.0", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/html-parse-stringify": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", - "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", + "node_modules/jest": { + "version": "29.7.0", + "dev": true, "license": "MIT", "dependencies": { - "void-elements": "3.1.0" + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", + "node_modules/jest-changed-files": { + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" }, "engines": { - "node": ">=6.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "node_modules/jest-changed-files/node_modules/execa": { + "version": "5.1.1", "dev": true, "license": "MIT", "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "node_modules/jest-changed-files/node_modules/get-stream": { + "version": "6.0.1", "dev": true, "license": "MIT", - "dependencies": { - "@types/node": "^10.0.3" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/http-response-object/node_modules/@types/node": { - "version": "10.17.60", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", + "node_modules/jest-changed-files/node_modules/human-signals": { + "version": "2.1.0", "dev": true, - "license": "MIT" + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } }, - "node_modules/http-signature": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.4.0.tgz", - "integrity": "sha512-G5akfn7eKbpDN+8nPS/cb57YeA1jLTVxjpCj7tmm3QKPdyDy7T+qSC40e9ptydSWvkwjSXw1VbkpyEm39ukeAg==", + "node_modules/jest-circus": { + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^2.0.2", - "sshpk": "^1.18.0" + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">=0.10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "node_modules/jest-cli": { + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "6", - "debug": "4" + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">= 6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "node_modules/jest-config": { + "version": "29.7.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, "engines": { - "node": ">=8.12.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "node_modules/i18next": { - "version": "25.8.4", - "resolved": "https://registry.npmmirror.com/i18next/-/i18next-25.8.4.tgz", - "integrity": "sha512-a9A0MnUjKvzjEN/26ZY1okpra9kA8MEwzYEz1BNm+IyxUKPRH6ihf0p7vj8YvULwZHKHl3zkJ6KOt4hewxBecQ==", + "node_modules/jest-config/node_modules/ci-info": { + "version": "3.9.0", + "dev": true, "funding": [ { - "type": "individual", - "url": "https://locize.com" - }, - { - "type": "individual", - "url": "https://locize.com/i18next.html" - }, - { - "type": "individual", - "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" } ], "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.28.4" + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, - "peerDependencies": { - "typescript": "^5" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-newline": "^3.0.0" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/i18next-browser-languagedetector": { - "version": "8.2.0", - "resolved": "https://registry.npmmirror.com/i18next-browser-languagedetector/-/i18next-browser-languagedetector-8.2.0.tgz", - "integrity": "sha512-P+3zEKLnOF0qmiesW383vsLdtQVyKtCNA9cjSoKCppTKPQVfKd2W8hbVo5ZhNJKDqeM7BOcvNoKJOjpHh4Js9g==", + "node_modules/jest-each": { + "version": "29.7.0", + "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.23.2" + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/jest-environment-node": { + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/idb": { - "version": "8.0.3", - "resolved": "https://registry.npmmirror.com/idb/-/idb-8.0.3.tgz", - "integrity": "sha512-LtwtVyVYO5BqRvcsKuB2iUMnHwPVByPCXFXOpuU96IZPPoPN6xjOGxZQ74pgSVVLQWtUOYgyeL4GE98BY5D3wg==", - "license": "ISC" - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "node_modules/jest-get-type": { + "version": "29.6.3", "dev": true, "license": "MIT", "engines": { - "node": ">= 4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/immutable": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", - "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", - "dev": true, - "license": "MIT" - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "node_modules/jest-haste-map": { + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "node_modules/jest-haste-map/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, + "hasInstallScript": true, "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=0.8.19" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "node_modules/jest-leak-detector": { + "version": "29.7.0", "dev": true, "license": "MIT", + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "node_modules/jest-matcher-utils": { + "version": "29.7.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "node_modules/jest-message-util": { + "version": "29.7.0", "dev": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "node_modules/jest-mock": { + "version": "29.7.0", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.10" + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "node_modules/io-ts": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/io-ts/-/io-ts-1.10.4.tgz", - "integrity": "sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==", + "node_modules/jest-regex-util": { + "version": "29.6.3", "dev": true, "license": "MIT", - "dependencies": { - "fp-ts": "^1.0.0" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "node_modules/jest-resolve": { + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "binary-extensions": "^2.0.0" + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "node_modules/jest-resolve/node_modules/resolve": { + "version": "1.22.11", "dev": true, "license": "MIT", "dependencies": { - "hasown": "^2.0.2" + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" }, "engines": { "node": ">= 0.4" @@ -7692,170 +8175,213 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/jest-runner": { + "version": "29.7.0", "dev": true, "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/jest-runner/node_modules/source-map-support": { + "version": "0.5.13", + "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/jest-runtime": { + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "is-extglob": "^2.1.1" + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==", + "node_modules/jest-snapshot": { + "version": "29.7.0", "dev": true, "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, "engines": { - "node": ">=6.5.0", - "npm": ">=3" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.7.4", "dev": true, - "license": "MIT", - "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/jest-util": { + "version": "29.7.0", "dev": true, "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, "engines": { - "node": ">=0.12.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "node_modules/jest-util/node_modules/ci-info": { + "version": "3.9.0", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "node_modules/jest-validate": { + "version": "29.7.0", "dev": true, "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/jest-watcher": { + "version": "29.7.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "node_modules/jest-worker": { + "version": "29.7.0", "dev": true, "license": "MIT", "dependencies": { - "which-typed-array": "^1.1.16" + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", "dev": true, "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "dev": true, - "license": "MIT" - }, "node_modules/jiti": { "version": "1.21.7", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", - "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", "dev": true, "license": "MIT", "bin": { @@ -7864,21 +8390,15 @@ }, "node_modules/js-sha3": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", "dev": true, "license": "MIT" }, "node_modules/js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "license": "MIT" }, "node_modules/js-yaml": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, "license": "MIT", "dependencies": { @@ -7890,15 +8410,11 @@ }, "node_modules/jsbn": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", "dev": true, "license": "MIT" }, "node_modules/jsesc": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "dev": true, "license": "MIT", "bin": { @@ -7910,36 +8426,31 @@ }, "node_modules/json-buffer": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", "dev": true, "license": "MIT" }, "node_modules/json-schema": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "dev": true, "license": "(AFL-2.1 OR BSD-3-Clause)" }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true, "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true, "license": "MIT" }, "node_modules/json-stream-stringify": { "version": "3.1.6", - "resolved": "https://registry.npmjs.org/json-stream-stringify/-/json-stream-stringify-3.1.6.tgz", - "integrity": "sha512-x7fpwxOkbhFCaJDJ8vb1fBY3DdSa4AlITaz+HHILQJzdPMnHEFjxPwVUi1ALIbcIxDE0PNe/0i7frnY8QnBQog==", "dev": true, "license": "MIT", "engines": { @@ -7948,15 +8459,11 @@ }, "node_modules/json-stringify-safe": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true, "license": "ISC" }, "node_modules/json5": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "license": "MIT", "bin": { @@ -7968,8 +8475,6 @@ }, "node_modules/jsonfile": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", - "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", "dev": true, "license": "MIT", "dependencies": { @@ -7981,18 +8486,15 @@ }, "node_modules/jsonschema": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/jsonschema/-/jsonschema-1.5.0.tgz", - "integrity": "sha512-K+A9hhqbn0f3pJX17Q/7H6yQfD/5OXgdrR5UE12gMXCiN9D5Xq2o5mddV2QEcX/bjla99ASsAAQUyMCCRWAEhw==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": "*" } }, "node_modules/jsprim": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", - "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", "dev": true, "engines": [ "node >=0.6.0" @@ -8007,8 +8509,6 @@ }, "node_modules/keccak": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.4.tgz", - "integrity": "sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -8023,8 +8523,6 @@ }, "node_modules/keyv": { "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, "license": "MIT", "dependencies": { @@ -8033,18 +8531,39 @@ }, "node_modules/kind-of": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/kleur": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/lazy-ass": { + "version": "1.6.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "> 0.8" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/levn": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -8057,8 +8576,6 @@ }, "node_modules/lilconfig": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", - "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", "dev": true, "license": "MIT", "engines": { @@ -8070,15 +8587,11 @@ }, "node_modules/lines-and-columns": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true, "license": "MIT" }, "node_modules/listr2": { "version": "3.14.0", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", - "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", "dev": true, "license": "MIT", "dependencies": { @@ -8105,8 +8618,6 @@ }, "node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "license": "MIT", "dependencies": { @@ -8120,59 +8631,51 @@ } }, "node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "version": "4.17.21", "dev": true, "license": "MIT" }, "node_modules/lodash.camelcase": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/lodash.clonedeep": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/lodash.isequal": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", - "deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead.", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", "dev": true, "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true, "license": "MIT" }, "node_modules/lodash.once": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", "dev": true, "license": "MIT" }, "node_modules/lodash.truncate": { "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/log-symbols": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "license": "MIT", "dependencies": { @@ -8186,86 +8689,8 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-symbols/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/log-symbols/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/log-symbols/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/log-symbols/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/log-update": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", "dev": true, "license": "MIT", "dependencies": { @@ -8281,46 +8706,8 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-update/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/log-update/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/log-update/node_modules/slice-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "license": "MIT", "dependencies": { @@ -8337,8 +8724,6 @@ }, "node_modules/log-update/node_modules/wrap-ansi": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "license": "MIT", "dependencies": { @@ -8352,8 +8737,6 @@ }, "node_modules/loose-envify": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" @@ -8364,25 +8747,20 @@ }, "node_modules/loupe": { "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "get-func-name": "^2.0.1" } }, "node_modules/lru_map": { "version": "0.3.3", - "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", - "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==", "dev": true, "license": "MIT" }, "node_modules/lru-cache": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "license": "ISC", "dependencies": { @@ -8391,24 +8769,57 @@ }, "node_modules/lucide-react": { "version": "0.344.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.344.0.tgz", - "integrity": "sha512-6YyBnn91GB45VuVT96bYCOKElbJzUHqp65vX8cDcu55MQL9T969v4dhGClpljamuI/+KMO9P6w9Acq1CVQGvIQ==", "license": "ISC", "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0" } }, + "node_modules/make-dir": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "7.7.4", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "dev": true, + "license": "ISC" + }, + "node_modules/makeerror": { + "version": "1.0.12", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, "node_modules/markdown-table": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", - "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/math-intrinsics": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", "dev": true, "license": "MIT", "engines": { @@ -8417,10 +8828,9 @@ }, "node_modules/md5.js": { "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -8429,8 +8839,6 @@ }, "node_modules/memorystream": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", "dev": true, "engines": { "node": ">= 0.10.0" @@ -8438,15 +8846,11 @@ }, "node_modules/merge-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true, "license": "MIT" }, "node_modules/merge2": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, "license": "MIT", "engines": { @@ -8455,8 +8859,6 @@ }, "node_modules/micro-eth-signer": { "version": "0.14.0", - "resolved": "https://registry.npmjs.org/micro-eth-signer/-/micro-eth-signer-0.14.0.tgz", - "integrity": "sha512-5PLLzHiVYPWClEvZIXXFu5yutzpadb73rnQCpUqIHu3No3coFuWQNfE5tkBQJ7djuLYl6aRLaS0MgWJYGoqiBw==", "dev": true, "license": "MIT", "dependencies": { @@ -8467,8 +8869,6 @@ }, "node_modules/micro-eth-signer/node_modules/@noble/curves": { "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.8.2.tgz", - "integrity": "sha512-vnI7V6lFNe0tLAuJMu+2sX+FcL14TaCWy1qiczg1VwRmPrpQCdq5ESXQMqUc2tluRNf6irBXrWbl1mGN8uaU/g==", "dev": true, "license": "MIT", "dependencies": { @@ -8483,8 +8883,6 @@ }, "node_modules/micro-eth-signer/node_modules/@noble/hashes": { "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.2.tgz", - "integrity": "sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ==", "dev": true, "license": "MIT", "engines": { @@ -8496,15 +8894,12 @@ }, "node_modules/micro-ftch": { "version": "0.3.1", - "resolved": "https://registry.npmjs.org/micro-ftch/-/micro-ftch-0.3.1.tgz", - "integrity": "sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/micro-packed": { "version": "0.7.3", - "resolved": "https://registry.npmjs.org/micro-packed/-/micro-packed-0.7.3.tgz", - "integrity": "sha512-2Milxs+WNC00TRlem41oRswvw31146GiSaoCT7s3Xi2gMUglW5QBeqlQaZeHr5tJx9nm3i57LNXPqxOOaWtTYg==", "dev": true, "license": "MIT", "dependencies": { @@ -8516,8 +8911,6 @@ }, "node_modules/micromatch": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "license": "MIT", "dependencies": { @@ -8530,8 +8923,6 @@ }, "node_modules/mime-db": { "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, "license": "MIT", "engines": { @@ -8540,8 +8931,6 @@ }, "node_modules/mime-types": { "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "license": "MIT", "dependencies": { @@ -8553,8 +8942,6 @@ }, "node_modules/mimic-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, "license": "MIT", "engines": { @@ -8563,22 +8950,16 @@ }, "node_modules/minimalistic-assert": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true, "license": "ISC" }, "node_modules/minimalistic-crypto-utils": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", "dev": true, "license": "MIT" }, "node_modules/minimatch": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", "dependencies": { @@ -8590,8 +8971,6 @@ }, "node_modules/minimist": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, "license": "MIT", "funding": { @@ -8600,10 +8979,9 @@ }, "node_modules/mkdirp": { "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "minimist": "^1.2.6" }, @@ -8613,8 +8991,6 @@ }, "node_modules/mnemonist": { "version": "0.38.5", - "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.5.tgz", - "integrity": "sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==", "dev": true, "license": "MIT", "dependencies": { @@ -8623,8 +8999,6 @@ }, "node_modules/mocha": { "version": "10.8.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz", - "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", "dev": true, "license": "MIT", "dependencies": { @@ -8659,8 +9033,6 @@ }, "node_modules/mocha/node_modules/brace-expansion": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -8669,8 +9041,6 @@ }, "node_modules/mocha/node_modules/chokidar": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, "license": "MIT", "dependencies": { @@ -8692,23 +9062,51 @@ "fsevents": "~2.3.2" } }, - "node_modules/mocha/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "node_modules/mocha/node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/mocha/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, + "hasInstallScript": true, "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=10" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/mocha/node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "license": "ISC", "dependencies": { @@ -8718,20 +9116,8 @@ "node": ">= 6" } }, - "node_modules/mocha/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/mocha/node_modules/minimatch": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "license": "ISC", "dependencies": { @@ -8743,8 +9129,6 @@ }, "node_modules/mocha/node_modules/readdirp": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "license": "MIT", "dependencies": { @@ -8756,8 +9140,6 @@ }, "node_modules/mocha/node_modules/supports-color": { "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "license": "MIT", "dependencies": { @@ -8770,10 +9152,25 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/mocha/node_modules/yargs": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/motion-dom": { "version": "11.18.1", - "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-11.18.1.tgz", - "integrity": "sha512-g76KvA001z+atjfxczdRtw/RXOM3OMSdd1f4DL77qCTF/+avrRJiawSG4yDibEQ215sr9kpinSlX2pCTJ9zbhw==", "license": "MIT", "dependencies": { "motion-utils": "^11.18.1" @@ -8781,21 +9178,15 @@ }, "node_modules/motion-utils": { "version": "11.18.1", - "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-11.18.1.tgz", - "integrity": "sha512-49Kt+HKjtbJKLtgO/LKj9Ld+6vw9BjH5d9sc40R/kVyH8GLAXgT42M2NnuPcJNuA3s9ZfZBUcwIgpmZWGEE+hA==", "license": "MIT" }, "node_modules/ms": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, "license": "MIT" }, "node_modules/mz": { "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "dev": true, "license": "MIT", "dependencies": { @@ -8806,8 +9197,6 @@ }, "node_modules/nanoid": { "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "dev": true, "funding": [ { @@ -8825,39 +9214,49 @@ }, "node_modules/natural-compare": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true, "license": "MIT" }, + "node_modules/ndjson": { + "version": "2.0.0", + "dev": true, + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "json-stringify-safe": "^5.0.1", + "minimist": "^1.2.5", + "readable-stream": "^3.6.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "ndjson": "cli.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/neo-async": { "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true, "license": "MIT" }, "node_modules/node-addon-api": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz", - "integrity": "sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==", "dev": true, "license": "MIT" }, "node_modules/node-emoji": { "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "lodash": "^4.17.21" } }, "node_modules/node-gyp-build": { "version": "4.8.4", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", - "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", "dev": true, "license": "MIT", "bin": { @@ -8866,29 +9265,30 @@ "node-gyp-build-test": "build-test.js" } }, + "node_modules/node-int64": { + "version": "0.4.0", + "dev": true, + "license": "MIT" + }, "node_modules/node-releases": { "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", "dev": true, "license": "MIT" }, "node_modules/nofilter": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", - "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12.19" } }, "node_modules/nopt": { "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==", "dev": true, "license": "ISC", + "peer": true, "dependencies": { "abbrev": "1" }, @@ -8898,8 +9298,6 @@ }, "node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, "license": "MIT", "engines": { @@ -8908,8 +9306,6 @@ }, "node_modules/npm-run-path": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "license": "MIT", "dependencies": { @@ -8921,10 +9317,9 @@ }, "node_modules/number-to-bn": { "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "bn.js": "4.11.6", "strip-hex-prefix": "1.0.0" @@ -8936,15 +9331,12 @@ }, "node_modules/number-to-bn/node_modules/bn.js": { "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, "license": "MIT", "engines": { @@ -8953,8 +9345,6 @@ }, "node_modules/object-hash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", "dev": true, "license": "MIT", "engines": { @@ -8963,8 +9353,6 @@ }, "node_modules/object-inspect": { "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "dev": true, "license": "MIT", "engines": { @@ -8976,15 +9364,11 @@ }, "node_modules/obliterator": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-2.0.5.tgz", - "integrity": "sha512-42CPE9AhahZRsMNslczq0ctAEtqk8Eka26QofnqC346BZdHDySk3LWka23LI7ULIw11NmltpiLagIq8gBozxTw==", "dev": true, "license": "MIT" }, "node_modules/once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "license": "ISC", "dependencies": { @@ -8993,8 +9377,6 @@ }, "node_modules/onetime": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "license": "MIT", "dependencies": { @@ -9009,8 +9391,6 @@ }, "node_modules/optionator": { "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "license": "MIT", "dependencies": { @@ -9027,15 +9407,12 @@ }, "node_modules/ordinal": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ordinal/-/ordinal-1.0.3.tgz", - "integrity": "sha512-cMddMgb2QElm8G7vdaa02jhUNbTSrhsgAGUz1OokD83uJTwSUn+nKoNoKVVaRa08yF6sgfO7Maou1+bgLd9rdQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "dev": true, "license": "MIT", "engines": { @@ -9044,15 +9421,11 @@ }, "node_modules/ospath": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", - "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", "dev": true, "license": "MIT" }, "node_modules/p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "license": "MIT", "dependencies": { @@ -9067,8 +9440,6 @@ }, "node_modules/p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "license": "MIT", "dependencies": { @@ -9083,8 +9454,6 @@ }, "node_modules/p-map": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, "license": "MIT", "dependencies": { @@ -9099,8 +9468,6 @@ }, "node_modules/p-try": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "license": "MIT", "engines": { "node": ">=6" @@ -9108,8 +9475,6 @@ }, "node_modules/parent-module": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "license": "MIT", "dependencies": { @@ -9121,14 +9486,28 @@ }, "node_modules/parse-cache-control": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==", - "dev": true + "dev": true, + "peer": true + }, + "node_modules/parse-json": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "license": "MIT", "engines": { "node": ">=8" @@ -9136,8 +9515,6 @@ }, "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, "license": "MIT", "engines": { @@ -9146,8 +9523,6 @@ }, "node_modules/path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "license": "MIT", "engines": { @@ -9156,37 +9531,32 @@ }, "node_modules/path-parse": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true, "license": "MIT" }, "node_modules/path-type": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } }, "node_modules/pathval": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": "*" } }, "node_modules/pbkdf2": { "version": "3.1.5", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.5.tgz", - "integrity": "sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "create-hash": "^1.2.0", "create-hmac": "^1.1.7", @@ -9201,62 +9571,107 @@ }, "node_modules/pend": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true, "license": "MIT" }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "node_modules/performance-now": { + "version": "2.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", "dev": true, - "license": "ISC" + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=8.6" + "dependencies": { + "p-locate": "^4.1.0" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "engines": { + "node": ">=8" } }, - "node_modules/pify": { + "node_modules/pkg-dir/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pirates": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", - "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", "dev": true, "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, "engines": { - "node": ">= 6" + "node": ">=8" } }, "node_modules/pngjs": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", - "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", "license": "MIT", "engines": { "node": ">=10.13.0" @@ -9264,18 +9679,15 @@ }, "node_modules/possible-typed-array-names": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">= 0.4" } }, "node_modules/postcss": { "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "dev": true, "funding": [ { @@ -9303,8 +9715,6 @@ }, "node_modules/postcss-import": { "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", "dev": true, "license": "MIT", "dependencies": { @@ -9321,8 +9731,6 @@ }, "node_modules/postcss-js": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz", - "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==", "dev": true, "funding": [ { @@ -9347,8 +9755,6 @@ }, "node_modules/postcss-load-config": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", - "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", "dev": true, "funding": [ { @@ -9390,8 +9796,6 @@ }, "node_modules/postcss-nested": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", - "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", "dev": true, "funding": [ { @@ -9416,8 +9820,6 @@ }, "node_modules/postcss-selector-parser": { "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "dev": true, "license": "MIT", "dependencies": { @@ -9430,15 +9832,11 @@ }, "node_modules/postcss-value-parser": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true, "license": "MIT" }, "node_modules/prelude-ls": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, "license": "MIT", "engines": { @@ -9447,10 +9845,9 @@ }, "node_modules/prettier": { "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, "license": "MIT", + "peer": true, "bin": { "prettier": "bin-prettier.js" }, @@ -9463,8 +9860,6 @@ }, "node_modules/pretty-bytes": { "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", "dev": true, "license": "MIT", "engines": { @@ -9474,10 +9869,32 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/pretty-format": { + "version": "29.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/process": { "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true, "license": "MIT", "engines": { @@ -9486,32 +9903,38 @@ }, "node_modules/process-nextick-args": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/promise": { "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "asap": "~2.0.6" } }, + "node_modules/prompts": { + "version": "2.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/proxy-from-env": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", "dev": true, "license": "MIT" }, "node_modules/pump": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", - "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", "dev": true, "license": "MIT", "dependencies": { @@ -9521,18 +9944,29 @@ }, "node_modules/punycode": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/pure-rand": { + "version": "6.1.0", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" + }, "node_modules/qrcode": { "version": "1.5.4", - "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.4.tgz", - "integrity": "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==", "license": "MIT", "dependencies": { "dijkstrajs": "^1.0.1", @@ -9546,25 +9980,8 @@ "node": ">=10.13.0" } }, - "node_modules/qrcode/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/qrcode/node_modules/camelcase": { "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "license": "MIT", "engines": { "node": ">=6" @@ -9572,8 +9989,6 @@ }, "node_modules/qrcode/node_modules/cliui": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "license": "ISC", "dependencies": { "string-width": "^4.2.0", @@ -9581,28 +9996,8 @@ "wrap-ansi": "^6.2.0" } }, - "node_modules/qrcode/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/qrcode/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, "node_modules/qrcode/node_modules/decamelize": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "license": "MIT", "engines": { "node": ">=0.10.0" @@ -9610,8 +10005,6 @@ }, "node_modules/qrcode/node_modules/find-up": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "license": "MIT", "dependencies": { "locate-path": "^5.0.0", @@ -9623,8 +10016,6 @@ }, "node_modules/qrcode/node_modules/locate-path": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "license": "MIT", "dependencies": { "p-locate": "^4.1.0" @@ -9635,8 +10026,6 @@ }, "node_modules/qrcode/node_modules/p-limit": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "license": "MIT", "dependencies": { "p-try": "^2.0.0" @@ -9650,8 +10039,6 @@ }, "node_modules/qrcode/node_modules/p-locate": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "license": "MIT", "dependencies": { "p-limit": "^2.2.0" @@ -9662,8 +10049,6 @@ }, "node_modules/qrcode/node_modules/wrap-ansi": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", @@ -9676,14 +10061,10 @@ }, "node_modules/qrcode/node_modules/y18n": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "license": "ISC" }, "node_modules/qrcode/node_modules/yargs": { "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "license": "MIT", "dependencies": { "cliui": "^6.0.0", @@ -9704,8 +10085,6 @@ }, "node_modules/qrcode/node_modules/yargs-parser": { "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "license": "ISC", "dependencies": { "camelcase": "^5.0.0", @@ -9716,9 +10095,7 @@ } }, "node_modules/qs": { - "version": "6.14.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", - "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", + "version": "6.14.2", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -9733,8 +10110,6 @@ }, "node_modules/queue-microtask": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ { @@ -9754,8 +10129,6 @@ }, "node_modules/randombytes": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "license": "MIT", "dependencies": { @@ -9764,8 +10137,6 @@ }, "node_modules/raw-body": { "version": "2.5.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", - "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", "dev": true, "license": "MIT", "dependencies": { @@ -9780,8 +10151,6 @@ }, "node_modules/react": { "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" @@ -9792,8 +10161,6 @@ }, "node_modules/react-dom": { "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", @@ -9804,19 +10171,15 @@ } }, "node_modules/react-i18next": { - "version": "16.5.4", - "resolved": "https://registry.npmmirror.com/react-i18next/-/react-i18next-16.5.4.tgz", - "integrity": "sha512-6yj+dcfMncEC21QPhOTsW8mOSO+pzFmT6uvU7XXdvM/Cp38zJkmTeMeKmTrmCMD5ToT79FmiE/mRWiYWcJYW4g==", + "version": "14.1.3", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.28.4", - "html-parse-stringify": "^3.0.1", - "use-sync-external-store": "^1.6.0" + "@babel/runtime": "^7.23.9", + "html-parse-stringify": "^3.0.1" }, "peerDependencies": { - "i18next": ">= 25.6.2", - "react": ">= 16.8.0", - "typescript": "^5" + "i18next": ">= 23.2.3", + "react": ">= 16.8.0" }, "peerDependenciesMeta": { "react-dom": { @@ -9824,349 +10187,669 @@ }, "react-native": { "optional": true - }, - "typescript": { - "optional": true } } }, + "node_modules/react-is": { + "version": "18.3.1", + "dev": true, + "license": "MIT" + }, "node_modules/react-refresh": { "version": "0.17.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", - "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/react-router": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.13.0.tgz", - "integrity": "sha512-PZgus8ETambRT17BUm/LL8lX3Of+oiLaPuVTRH3l1eLvSPpKO3AvhAEb5N7ihAFZQrYDqkvvWfFh9p0z9VsjLw==", + "node_modules/react-router": { + "version": "6.30.3", + "license": "MIT", + "dependencies": { + "@remix-run/router": "1.23.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.30.3", + "license": "MIT", + "dependencies": { + "@remix-run/router": "1.23.2", + "react-router": "6.30.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "dev": true, + "peer": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/reduce-flatten": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/req-cwd": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "req-from": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/req-from": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/req-from/node_modules/resolve-from": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/request-progress": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "throttleit": "^1.0.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "license": "ISC" + }, + "node_modules/resolve": { + "version": "1.17.0", + "dev": true, "license": "MIT", "dependencies": { - "cookie": "^1.0.1", - "set-cookie-parser": "^2.6.0" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "react": ">=18", - "react-dom": ">=18" + "path-parse": "^1.0.6" }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/react-router-dom": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.13.0.tgz", - "integrity": "sha512-5CO/l5Yahi2SKC6rGZ+HDEjpjkGaG/ncEP7eWFTvFxbHP8yeeI0PxTDjimtpXYlR3b3i9/WIL4VJttPrESIf2g==", + "node_modules/resolve-cwd": { + "version": "3.0.0", + "dev": true, "license": "MIT", "dependencies": { - "react-router": "7.13.0" + "resolve-from": "^5.0.0" }, "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "react": ">=18", - "react-dom": ">=18" + "node": ">=8" } }, - "node_modules/react-router/node_modules/cookie": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", - "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "dev": true, "license": "MIT", "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "node": ">=8" } }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "node_modules/resolve-from": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "pify": "^2.3.0" + "engines": { + "node": ">=4" } }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "node_modules/resolve.exports": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", "dev": true, "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "node_modules/reusify": { + "version": "1.1.0", "dev": true, "license": "MIT", "engines": { - "node": ">= 14.18.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "node_modules/rfdc": { + "version": "1.4.1", + "dev": true, + "license": "MIT" + }, + "node_modules/ripemd160": { + "version": "2.0.3", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "resolve": "^1.1.6" + "hash-base": "^3.1.2", + "inherits": "^2.0.4" }, "engines": { - "node": ">= 0.10" + "node": ">= 0.8" } }, - "node_modules/recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "node_modules/rlp": { + "version": "2.2.7", + "dev": true, + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "bn.js": "^5.2.0" + }, + "bin": { + "rlp": "bin/rlp" + } + }, + "node_modules/rollup": { + "version": "4.57.1", "dev": true, "license": "MIT", "dependencies": { - "minimatch": "^3.0.5" + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=6.0.0" + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.57.1", + "@rollup/rollup-android-arm64": "4.57.1", + "@rollup/rollup-darwin-arm64": "4.57.1", + "@rollup/rollup-darwin-x64": "4.57.1", + "@rollup/rollup-freebsd-arm64": "4.57.1", + "@rollup/rollup-freebsd-x64": "4.57.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.57.1", + "@rollup/rollup-linux-arm-musleabihf": "4.57.1", + "@rollup/rollup-linux-arm64-gnu": "4.57.1", + "@rollup/rollup-linux-arm64-musl": "4.57.1", + "@rollup/rollup-linux-loong64-gnu": "4.57.1", + "@rollup/rollup-linux-loong64-musl": "4.57.1", + "@rollup/rollup-linux-ppc64-gnu": "4.57.1", + "@rollup/rollup-linux-ppc64-musl": "4.57.1", + "@rollup/rollup-linux-riscv64-gnu": "4.57.1", + "@rollup/rollup-linux-riscv64-musl": "4.57.1", + "@rollup/rollup-linux-s390x-gnu": "4.57.1", + "@rollup/rollup-linux-x64-gnu": "4.57.1", + "@rollup/rollup-linux-x64-musl": "4.57.1", + "@rollup/rollup-openbsd-x64": "4.57.1", + "@rollup/rollup-openharmony-arm64": "4.57.1", + "@rollup/rollup-win32-arm64-msvc": "4.57.1", + "@rollup/rollup-win32-ia32-msvc": "4.57.1", + "@rollup/rollup-win32-x64-gnu": "4.57.1", + "@rollup/rollup-win32-x64-msvc": "4.57.1", + "fsevents": "~2.3.2" } }, - "node_modules/reduce-flatten": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", - "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", + "node_modules/rollup/node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.57.1.tgz", + "integrity": "sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-android-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.57.1.tgz", + "integrity": "sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.57.1.tgz", + "integrity": "sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-darwin-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.57.1.tgz", + "integrity": "sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.57.1.tgz", + "integrity": "sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.57.1.tgz", + "integrity": "sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.57.1.tgz", + "integrity": "sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.57.1.tgz", + "integrity": "sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.57.1.tgz", + "integrity": "sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/rollup/node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.57.1.tgz", + "integrity": "sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "engines": { - "node": ">=6" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/req-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/req-cwd/-/req-cwd-2.0.0.tgz", - "integrity": "sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==", + "node_modules/rollup/node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.57.1.tgz", + "integrity": "sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==", + "cpu": [ + "loong64" + ], "dev": true, "license": "MIT", - "dependencies": { - "req-from": "^2.0.0" - }, - "engines": { - "node": ">=4" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/req-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/req-from/-/req-from-2.0.0.tgz", - "integrity": "sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==", + "node_modules/rollup/node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.57.1.tgz", + "integrity": "sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==", + "cpu": [ + "loong64" + ], "dev": true, "license": "MIT", - "dependencies": { - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/req-from/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "node_modules/rollup/node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.57.1.tgz", + "integrity": "sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "engines": { - "node": ">=4" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/request-progress": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", - "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "node_modules/rollup/node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.57.1.tgz", + "integrity": "sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "dependencies": { - "throttleit": "^1.0.0" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "node_modules/rollup/node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.57.1.tgz", + "integrity": "sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==", + "cpu": [ + "riscv64" + ], + "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "node_modules/rollup/node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.57.1.tgz", + "integrity": "sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==", + "cpu": [ + "riscv64" + ], "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "license": "ISC" + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "node_modules/rollup/node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.57.1.tgz", + "integrity": "sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==", + "cpu": [ + "s390x" + ], "dev": true, "license": "MIT", - "dependencies": { - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "node_modules/rollup/node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.57.1.tgz", + "integrity": "sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "engines": { - "node": ">=4" - } + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "node_modules/rollup/node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.57.1.tgz", + "integrity": "sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } + "optional": true, + "os": [ + "openbsd" + ] }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "node_modules/rollup/node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.57.1.tgz", + "integrity": "sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } + "optional": true, + "os": [ + "openharmony" + ] }, - "node_modules/rfdc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "node_modules/rollup/node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.57.1.tgz", + "integrity": "sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/ripemd160": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.3.tgz", - "integrity": "sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==", + "node_modules/rollup/node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.57.1.tgz", + "integrity": "sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", - "dependencies": { - "hash-base": "^3.1.2", - "inherits": "^2.0.4" - }, - "engines": { - "node": ">= 0.8" - } + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/rlp": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", - "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "node_modules/rollup/node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.57.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.57.1.tgz", + "integrity": "sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MPL-2.0", - "dependencies": { - "bn.js": "^5.2.0" - }, - "bin": { - "rlp": "bin/rlp" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "node_modules/rollup": { + "node_modules/rollup/node_modules/@rollup/rollup-win32-x64-msvc": { "version": "4.57.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.57.1.tgz", - "integrity": "sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.57.1.tgz", + "integrity": "sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/rollup/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.57.1", - "@rollup/rollup-android-arm64": "4.57.1", - "@rollup/rollup-darwin-arm64": "4.57.1", - "@rollup/rollup-darwin-x64": "4.57.1", - "@rollup/rollup-freebsd-arm64": "4.57.1", - "@rollup/rollup-freebsd-x64": "4.57.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.57.1", - "@rollup/rollup-linux-arm-musleabihf": "4.57.1", - "@rollup/rollup-linux-arm64-gnu": "4.57.1", - "@rollup/rollup-linux-arm64-musl": "4.57.1", - "@rollup/rollup-linux-loong64-gnu": "4.57.1", - "@rollup/rollup-linux-loong64-musl": "4.57.1", - "@rollup/rollup-linux-ppc64-gnu": "4.57.1", - "@rollup/rollup-linux-ppc64-musl": "4.57.1", - "@rollup/rollup-linux-riscv64-gnu": "4.57.1", - "@rollup/rollup-linux-riscv64-musl": "4.57.1", - "@rollup/rollup-linux-s390x-gnu": "4.57.1", - "@rollup/rollup-linux-x64-gnu": "4.57.1", - "@rollup/rollup-linux-x64-musl": "4.57.1", - "@rollup/rollup-openbsd-x64": "4.57.1", - "@rollup/rollup-openharmony-arm64": "4.57.1", - "@rollup/rollup-win32-arm64-msvc": "4.57.1", - "@rollup/rollup-win32-ia32-msvc": "4.57.1", - "@rollup/rollup-win32-x64-gnu": "4.57.1", - "@rollup/rollup-win32-x64-msvc": "4.57.1", - "fsevents": "~2.3.2" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, "node_modules/run-parallel": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "funding": [ { @@ -10189,8 +10872,6 @@ }, "node_modules/rxjs": { "version": "7.8.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", - "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -10199,8 +10880,6 @@ }, "node_modules/safe-buffer": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ { @@ -10220,17 +10899,14 @@ }, "node_modules/safer-buffer": { "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true, "license": "MIT" }, "node_modules/sc-istanbul": { "version": "0.4.6", - "resolved": "https://registry.npmjs.org/sc-istanbul/-/sc-istanbul-0.4.6.tgz", - "integrity": "sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==", "dev": true, "license": "BSD-3-Clause", + "peer": true, "dependencies": { "abbrev": "1.0.x", "async": "1.x", @@ -10253,21 +10929,24 @@ }, "node_modules/sc-istanbul/node_modules/argparse": { "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "sprintf-js": "~1.0.2" } }, + "node_modules/sc-istanbul/node_modules/async": { + "version": "1.5.2", + "dev": true, + "license": "MIT", + "peer": true + }, "node_modules/sc-istanbul/node_modules/glob": { "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==", - "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "license": "ISC", + "peer": true, "dependencies": { "inflight": "^1.0.4", "inherits": "2", @@ -10281,20 +10960,18 @@ }, "node_modules/sc-istanbul/node_modules/has-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } }, "node_modules/sc-istanbul/node_modules/js-yaml": { "version": "3.14.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", - "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -10305,10 +10982,9 @@ }, "node_modules/sc-istanbul/node_modules/js-yaml/node_modules/esprima": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, "license": "BSD-2-Clause", + "peer": true, "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -10319,17 +10995,15 @@ }, "node_modules/sc-istanbul/node_modules/resolve": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/sc-istanbul/node_modules/supports-color": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "has-flag": "^1.0.0" }, @@ -10339,10 +11013,9 @@ }, "node_modules/sc-istanbul/node_modules/which": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "license": "ISC", + "peer": true, "dependencies": { "isexe": "^2.0.0" }, @@ -10352,8 +11025,6 @@ }, "node_modules/scheduler": { "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" @@ -10361,18 +11032,16 @@ }, "node_modules/scrypt-js": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/secp256k1": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.4.tgz", - "integrity": "sha512-6JfvwvjUOn8F/jUoBY2Q1v5WY5XS+rj8qSe0v8Y4ezH4InLgTEeOOPQsRll9OV429Pvo6BCHGavIyJfr3TAhsw==", "dev": true, "hasInstallScript": true, "license": "MIT", + "peer": true, "dependencies": { "elliptic": "^6.5.7", "node-addon-api": "^5.0.0", @@ -10384,15 +11053,12 @@ }, "node_modules/secp256k1/node_modules/node-addon-api": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", - "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "license": "ISC", "bin": { @@ -10401,8 +11067,6 @@ }, "node_modules/serialize-javascript": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -10411,22 +11075,13 @@ }, "node_modules/set-blocking": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "license": "ISC" }, - "node_modules/set-cookie-parser": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", - "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==", - "license": "MIT" - }, "node_modules/set-function-length": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -10441,24 +11096,20 @@ }, "node_modules/setimmediate": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/setprototypeof": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true, "license": "ISC" }, "node_modules/sha.js": { "version": "2.4.12", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz", - "integrity": "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==", "dev": true, "license": "(MIT AND BSD-3-Clause)", + "peer": true, "dependencies": { "inherits": "^2.0.4", "safe-buffer": "^5.2.1", @@ -10476,10 +11127,9 @@ }, "node_modules/sha1": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz", - "integrity": "sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==", "dev": true, "license": "BSD-3-Clause", + "peer": true, "dependencies": { "charenc": ">= 0.0.1", "crypt": ">= 0.0.1" @@ -10490,8 +11140,6 @@ }, "node_modules/shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "license": "MIT", "dependencies": { @@ -10503,8 +11151,6 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, "license": "MIT", "engines": { @@ -10513,10 +11159,9 @@ }, "node_modules/shelljs": { "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", "dev": true, "license": "BSD-3-Clause", + "peer": true, "dependencies": { "glob": "^7.0.0", "interpret": "^1.0.0", @@ -10529,32 +11174,8 @@ "node": ">=4" } }, - "node_modules/shelljs/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/side-channel": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "dev": true, "license": "MIT", "dependencies": { @@ -10573,8 +11194,6 @@ }, "node_modules/side-channel-list": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", "dev": true, "license": "MIT", "dependencies": { @@ -10590,8 +11209,6 @@ }, "node_modules/side-channel-map": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", "dev": true, "license": "MIT", "dependencies": { @@ -10609,8 +11226,6 @@ }, "node_modules/side-channel-weakmap": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", "dev": true, "license": "MIT", "dependencies": { @@ -10629,15 +11244,16 @@ }, "node_modules/signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true, "license": "ISC" }, + "node_modules/sisteransi": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, "node_modules/slash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, "license": "MIT", "engines": { @@ -10646,8 +11262,6 @@ }, "node_modules/slice-ansi": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", "dev": true, "license": "MIT", "dependencies": { @@ -10659,46 +11273,8 @@ "node": ">=8" } }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/slice-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/solc": { "version": "0.8.26", - "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.26.tgz", - "integrity": "sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g==", "dev": true, "license": "MIT", "dependencies": { @@ -10719,8 +11295,6 @@ }, "node_modules/solc/node_modules/commander": { "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", "dev": true, "license": "MIT", "engines": { @@ -10729,8 +11303,6 @@ }, "node_modules/solc/node_modules/semver": { "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, "license": "ISC", "bin": { @@ -10739,8 +11311,6 @@ }, "node_modules/solc/node_modules/tmp": { "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "license": "MIT", "dependencies": { @@ -10752,10 +11322,9 @@ }, "node_modules/solidity-coverage": { "version": "0.8.17", - "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.8.17.tgz", - "integrity": "sha512-5P8vnB6qVX9tt1MfuONtCTEaEGO/O4WuEidPHIAJjx4sktHHKhO3rFvnE0q8L30nWJPTrcqGQMT7jpE29B2qow==", "dev": true, "license": "ISC", + "peer": true, "dependencies": { "@ethersproject/abi": "^5.0.9", "@solidity-parser/parser": "^0.20.1", @@ -10786,17 +11355,65 @@ }, "node_modules/solidity-coverage/node_modules/@solidity-parser/parser": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.20.2.tgz", - "integrity": "sha512-rbu0bzwNvMcwAjH86hiEAcOeRI2EeK8zCkHDrFykh/Al8mvJeFmjy3UrE7GYQjNwOgbGUUtCn5/k8CB8zIu7QA==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true + }, + "node_modules/solidity-coverage/node_modules/ansi-styles": { + "version": "3.2.1", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solidity-coverage/node_modules/chalk": { + "version": "2.4.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/solidity-coverage/node_modules/color-convert": { + "version": "1.9.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/solidity-coverage/node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/solidity-coverage/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.8.0" + } }, "node_modules/solidity-coverage/node_modules/fs-extra": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", @@ -10806,32 +11423,38 @@ "node": ">=6 <7 || >=8" } }, + "node_modules/solidity-coverage/node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" + } + }, "node_modules/solidity-coverage/node_modules/jsonfile": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, "license": "MIT", + "peer": true, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "node_modules/solidity-coverage/node_modules/pify": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=6" } }, "node_modules/solidity-coverage/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", "dev": true, "license": "ISC", + "peer": true, "bin": { "semver": "bin/semver.js" }, @@ -10839,33 +11462,37 @@ "node": ">=10" } }, + "node_modules/solidity-coverage/node_modules/supports-color": { + "version": "5.5.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/solidity-coverage/node_modules/universalify": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">= 4.0.0" } }, "node_modules/source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==", + "version": "0.6.1", "dev": true, - "optional": true, - "dependencies": { - "amdefine": ">=0.0.4" - }, + "license": "BSD-3-Clause", "engines": { - "node": ">=0.8.0" + "node": ">=0.10.0" } }, "node_modules/source-map-js": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -10874,8 +11501,6 @@ }, "node_modules/source-map-support": { "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "license": "MIT", "dependencies": { @@ -10883,27 +11508,22 @@ "source-map": "^0.6.0" } }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/split2": { + "version": "3.2.2", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" + "license": "ISC", + "peer": true, + "dependencies": { + "readable-stream": "^3.0.0" } }, "node_modules/sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true, "license": "BSD-3-Clause" }, "node_modules/sshpk": { "version": "1.18.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", - "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", "dev": true, "license": "MIT", "dependencies": { @@ -10926,10 +11546,27 @@ "node": ">=0.10.0" } }, + "node_modules/stack-utils": { + "version": "2.0.6", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/stacktrace-parser": { "version": "0.1.11", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.11.tgz", - "integrity": "sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==", "dev": true, "license": "MIT", "dependencies": { @@ -10941,8 +11578,6 @@ }, "node_modules/stacktrace-parser/node_modules/type-fest": { "version": "0.7.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { @@ -10951,8 +11586,6 @@ }, "node_modules/statuses": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", "dev": true, "license": "MIT", "engines": { @@ -10961,8 +11594,6 @@ }, "node_modules/string_decoder": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "license": "MIT", "dependencies": { @@ -10971,15 +11602,24 @@ }, "node_modules/string-format": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz", - "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==", "dev": true, - "license": "WTFPL OR MIT" + "license": "WTFPL OR MIT", + "peer": true + }, + "node_modules/string-length": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } }, "node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -10992,8 +11632,6 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -11002,10 +11640,16 @@ "node": ">=8" } }, + "node_modules/strip-bom": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/strip-final-newline": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, "license": "MIT", "engines": { @@ -11014,10 +11658,9 @@ }, "node_modules/strip-hex-prefix": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "is-hex-prefixed": "1.0.0" }, @@ -11028,8 +11671,6 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, "license": "MIT", "engines": { @@ -11041,8 +11682,6 @@ }, "node_modules/sucrase": { "version": "3.35.1", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", - "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", "dev": true, "license": "MIT", "dependencies": { @@ -11064,8 +11703,6 @@ }, "node_modules/sucrase/node_modules/commander": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "dev": true, "license": "MIT", "engines": { @@ -11073,22 +11710,18 @@ } }, "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "7.2.0", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, "license": "MIT", "engines": { @@ -11100,10 +11733,9 @@ }, "node_modules/sync-request": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "http-response-object": "^3.0.1", "sync-rpc": "^1.2.1", @@ -11115,47 +11747,18 @@ }, "node_modules/sync-rpc": { "version": "1.3.6", - "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", - "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "get-port": "^3.1.0" } }, - "node_modules/systeminformation": { - "version": "5.30.7", - "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.30.7.tgz", - "integrity": "sha512-33B/cftpaWdpvH+Ho9U1b08ss8GQuLxrWHelbJT1yw4M48Taj8W3ezcPuaLoIHZz5V6tVHuQPr5BprEfnBLBMw==", - "dev": true, - "license": "MIT", - "os": [ - "darwin", - "linux", - "win32", - "freebsd", - "openbsd", - "netbsd", - "sunos", - "android" - ], - "bin": { - "systeminformation": "lib/cli.js" - }, - "engines": { - "node": ">=8.0.0" - }, - "funding": { - "type": "Buy me a coffee", - "url": "https://www.buymeacoffee.com/systeminfo" - } - }, "node_modules/table": { "version": "6.9.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz", - "integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==", "dev": true, "license": "BSD-3-Clause", + "peer": true, "dependencies": { "ajv": "^8.0.1", "lodash.truncate": "^4.4.2", @@ -11169,10 +11772,9 @@ }, "node_modules/table-layout": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", - "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "array-back": "^4.0.1", "deep-extend": "~0.6.0", @@ -11185,90 +11787,49 @@ }, "node_modules/table-layout/node_modules/array-back": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } }, "node_modules/table-layout/node_modules/typical": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, + "peer": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=8" } }, - "node_modules/table/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/table/node_modules/ajv": { + "version": "8.17.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "color-name": "~1.1.4" + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" }, - "engines": { - "node": ">=7.0.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/table/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/table/node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/table/node_modules/slice-ansi": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", @@ -11283,8 +11844,6 @@ }, "node_modules/tailwindcss": { "version": "3.4.19", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.19.tgz", - "integrity": "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==", "dev": true, "license": "MIT", "dependencies": { @@ -11321,8 +11880,6 @@ }, "node_modules/tailwindcss/node_modules/chokidar": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, "license": "MIT", "dependencies": { @@ -11346,8 +11903,6 @@ }, "node_modules/tailwindcss/node_modules/chokidar/node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "license": "ISC", "dependencies": { @@ -11357,10 +11912,23 @@ "node": ">= 6" } }, + "node_modules/tailwindcss/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/tailwindcss/node_modules/readdirp": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "license": "MIT", "dependencies": { @@ -11372,8 +11940,6 @@ }, "node_modules/tailwindcss/node_modules/resolve": { "version": "1.22.11", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", "dev": true, "license": "MIT", "dependencies": { @@ -11391,12 +11957,24 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/test-exclude": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/then-request": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/concat-stream": "^1.6.0", "@types/form-data": "0.0.33", @@ -11416,17 +11994,15 @@ }, "node_modules/then-request/node_modules/@types/node": { "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/then-request/node_modules/form-data": { "version": "2.5.5", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.5.tgz", - "integrity": "sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -11441,8 +12017,6 @@ }, "node_modules/thenify": { "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dev": true, "license": "MIT", "dependencies": { @@ -11451,8 +12025,6 @@ }, "node_modules/thenify-all": { "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "dev": true, "license": "MIT", "dependencies": { @@ -11464,8 +12036,6 @@ }, "node_modules/throttleit": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.1.tgz", - "integrity": "sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==", "dev": true, "license": "MIT", "funding": { @@ -11474,15 +12044,20 @@ }, "node_modules/through": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true, "license": "MIT" }, + "node_modules/through2": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "readable-stream": "3" + } + }, "node_modules/tinyglobby": { "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "dev": true, "license": "MIT", "dependencies": { @@ -11496,10 +12071,24 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, "node_modules/tinyglobby/node_modules/picomatch": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", "engines": { @@ -11511,8 +12100,6 @@ }, "node_modules/tldts": { "version": "6.1.86", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz", - "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==", "dev": true, "license": "MIT", "dependencies": { @@ -11524,27 +12111,27 @@ }, "node_modules/tldts-core": { "version": "6.1.86", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz", - "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==", "dev": true, "license": "MIT" }, "node_modules/tmp": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", - "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", "dev": true, "license": "MIT", "engines": { "node": ">=14.14" } }, + "node_modules/tmpl": { + "version": "1.0.5", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/to-buffer": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.2.tgz", - "integrity": "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "isarray": "^2.0.5", "safe-buffer": "^5.2.1", @@ -11556,8 +12143,6 @@ }, "node_modules/to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "license": "MIT", "dependencies": { @@ -11569,8 +12154,6 @@ }, "node_modules/toidentifier": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, "license": "MIT", "engines": { @@ -11579,8 +12162,6 @@ }, "node_modules/tough-cookie": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", - "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -11592,8 +12173,6 @@ }, "node_modules/tree-kill": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", "dev": true, "license": "MIT", "bin": { @@ -11602,8 +12181,6 @@ }, "node_modules/ts-api-utils": { "version": "2.4.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", - "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", "dev": true, "license": "MIT", "engines": { @@ -11615,10 +12192,9 @@ }, "node_modules/ts-command-line-args": { "version": "2.5.1", - "resolved": "https://registry.npmjs.org/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz", - "integrity": "sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw==", "dev": true, "license": "ISC", + "peer": true, "dependencies": { "chalk": "^4.1.0", "command-line-args": "^5.1.1", @@ -11629,116 +12205,167 @@ "write-markdown": "dist/write-markdown.js" } }, - "node_modules/ts-command-line-args/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/ts-essentials": { + "version": "7.0.3", "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peer": true, + "peerDependencies": { + "typescript": ">=3.7.0" } }, - "node_modules/ts-command-line-args/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/ts-jest": { + "version": "29.4.6", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "bs-logger": "^0.2.6", + "fast-json-stable-stringify": "^2.1.0", + "handlebars": "^4.7.8", + "json5": "^2.2.3", + "lodash.memoize": "^4.1.2", + "make-error": "^1.3.6", + "semver": "^7.7.3", + "type-fest": "^4.41.0", + "yargs-parser": "^21.1.1" + }, + "bin": { + "ts-jest": "cli.js" }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/transform": "^29.0.0 || ^30.0.0", + "@jest/types": "^29.0.0 || ^30.0.0", + "babel-jest": "^29.0.0 || ^30.0.0", + "jest": "^29.0.0 || ^30.0.0", + "jest-util": "^29.0.0 || ^30.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/transform": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jest-util": { + "optional": true + } } }, - "node_modules/ts-command-line-args/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/ts-jest/node_modules/semver": { + "version": "7.7.4", "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=7.0.0" + "node": ">=10" } }, - "node_modules/ts-command-line-args/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/ts-jest/node_modules/type-fest": { + "version": "4.41.0", "dev": true, - "license": "MIT" + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/ts-command-line-args/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/ts-jest/node_modules/yargs-parser": { + "version": "21.1.1", "dev": true, - "license": "MIT", + "license": "ISC", "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/ts-command-line-args/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/ts-node": { + "version": "10.9.2", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" }, - "engines": { - "node": ">=8" + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } } }, - "node_modules/ts-essentials": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", - "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", + "node_modules/ts-node/node_modules/arg": { + "version": "4.1.3", "dev": true, - "license": "MIT", - "peerDependencies": { - "typescript": ">=3.7.0" - } + "license": "MIT" }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.4", "dev": true, - "license": "Apache-2.0" + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } }, "node_modules/tslib": { "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", "license": "0BSD" }, "node_modules/tsort": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/tsort/-/tsort-0.0.1.tgz", - "integrity": "sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==", "dev": true, "license": "MIT" }, "node_modules/tunnel-agent": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -11750,15 +12377,11 @@ }, "node_modules/tweetnacl": { "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", "dev": true, "license": "Unlicense" }, "node_modules/type-check": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "license": "MIT", "dependencies": { @@ -11770,18 +12393,15 @@ }, "node_modules/type-detect": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", - "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=4" } }, "node_modules/type-fest": { "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { @@ -11793,10 +12413,9 @@ }, "node_modules/typechain": { "version": "8.3.2", - "resolved": "https://registry.npmjs.org/typechain/-/typechain-8.3.2.tgz", - "integrity": "sha512-x/sQYr5w9K7yv3es7jo4KTX05CLxOf7TRWwoHlrjRh8H82G64g+k7VuWPJlgMo6qrjfCulOdfBjiaDtmhFYD/Q==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/prettier": "^2.1.1", "debug": "^4.3.1", @@ -11818,10 +12437,9 @@ }, "node_modules/typechain/node_modules/fs-extra": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -11833,11 +12451,9 @@ }, "node_modules/typechain/node_modules/glob": { "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "license": "ISC", + "peer": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -11855,20 +12471,18 @@ }, "node_modules/typechain/node_modules/jsonfile": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, "license": "MIT", + "peer": true, "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "node_modules/typechain/node_modules/mkdirp": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, "license": "MIT", + "peer": true, "bin": { "mkdirp": "bin/cmd.js" }, @@ -11878,20 +12492,18 @@ }, "node_modules/typechain/node_modules/universalify": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">= 4.0.0" } }, "node_modules/typed-array-buffer": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", @@ -11903,15 +12515,12 @@ }, "node_modules/typedarray": { "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/typescript": { "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -11923,16 +12532,14 @@ } }, "node_modules/typescript-eslint": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.54.0.tgz", - "integrity": "sha512-CKsJ+g53QpsNPqbzUsfKVgd3Lny4yKZ1pP4qN3jdMOg/sisIDLGyDMezycquXLE5JsEU0wp3dGNdzig0/fmSVQ==", + "version": "8.55.0", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.54.0", - "@typescript-eslint/parser": "8.54.0", - "@typescript-eslint/typescript-estree": "8.54.0", - "@typescript-eslint/utils": "8.54.0" + "@typescript-eslint/eslint-plugin": "8.55.0", + "@typescript-eslint/parser": "8.55.0", + "@typescript-eslint/typescript-estree": "8.55.0", + "@typescript-eslint/utils": "8.55.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -11948,18 +12555,15 @@ }, "node_modules/typical": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } }, "node_modules/uglify-js": { "version": "3.19.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", - "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", "dev": true, "license": "BSD-2-Clause", "optional": true, @@ -11972,8 +12576,6 @@ }, "node_modules/undici": { "version": "5.29.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", - "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", "dev": true, "license": "MIT", "dependencies": { @@ -11984,15 +12586,11 @@ } }, "node_modules/undici-types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", - "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "version": "6.21.0", "license": "MIT" }, "node_modules/universalify": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, "license": "MIT", "engines": { @@ -12001,8 +12599,6 @@ }, "node_modules/unpipe": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true, "license": "MIT", "engines": { @@ -12011,8 +12607,6 @@ }, "node_modules/untildify": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", "dev": true, "license": "MIT", "engines": { @@ -12021,8 +12615,6 @@ }, "node_modules/update-browserslist-db": { "version": "1.2.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "dev": true, "funding": [ { @@ -12052,51 +12644,51 @@ }, "node_modules/uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, - "node_modules/use-sync-external-store": { - "version": "1.6.0", - "resolved": "https://registry.npmmirror.com/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", - "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", - "license": "MIT", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, "node_modules/utf8": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", - "integrity": "sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true, "license": "MIT" }, "node_modules/uuid": { "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/v8-to-istanbul": { + "version": "9.3.0", + "dev": true, + "license": "ISC", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, "node_modules/verror": { "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "dev": true, "engines": [ "node >=0.6.0" @@ -12110,8 +12702,6 @@ }, "node_modules/vite": { "version": "5.4.21", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", - "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", "dev": true, "license": "MIT", "dependencies": { @@ -12168,21 +12758,41 @@ } } }, + "node_modules/vite/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/void-elements": { "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/void-elements/-/void-elements-3.1.0.tgz", - "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/walker": { + "version": "1.0.8", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" + } + }, "node_modules/web3-utils": { "version": "1.10.4", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.10.4.tgz", - "integrity": "sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==", "dev": true, "license": "LGPL-3.0", + "peer": true, "dependencies": { "@ethereumjs/util": "^8.1.0", "bn.js": "^5.2.1", @@ -12199,10 +12809,9 @@ }, "node_modules/web3-utils/node_modules/@ethereumjs/rlp": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", - "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==", "dev": true, "license": "MPL-2.0", + "peer": true, "bin": { "rlp": "bin/rlp" }, @@ -12212,10 +12821,9 @@ }, "node_modules/web3-utils/node_modules/@ethereumjs/util": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", - "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", "dev": true, "license": "MPL-2.0", + "peer": true, "dependencies": { "@ethereumjs/rlp": "^4.0.1", "ethereum-cryptography": "^2.0.0", @@ -12227,10 +12835,9 @@ }, "node_modules/web3-utils/node_modules/@noble/curves": { "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", - "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@noble/hashes": "1.4.0" }, @@ -12240,10 +12847,9 @@ }, "node_modules/web3-utils/node_modules/@noble/hashes": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", - "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">= 16" }, @@ -12253,10 +12859,9 @@ }, "node_modules/web3-utils/node_modules/ethereum-cryptography": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz", - "integrity": "sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@noble/curves": "1.4.2", "@noble/hashes": "1.4.0", @@ -12266,8 +12871,6 @@ }, "node_modules/which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "license": "ISC", "dependencies": { @@ -12282,16 +12885,13 @@ }, "node_modules/which-module": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", "license": "ISC" }, "node_modules/which-typed-array": { "version": "1.1.20", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", - "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", @@ -12310,8 +12910,6 @@ }, "node_modules/widest-line": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", "dev": true, "license": "MIT", "dependencies": { @@ -12323,8 +12921,6 @@ }, "node_modules/word-wrap": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, "license": "MIT", "engines": { @@ -12333,17 +12929,14 @@ }, "node_modules/wordwrap": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", "dev": true, "license": "MIT" }, "node_modules/wordwrapjs": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", - "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "reduce-flatten": "^2.0.0", "typical": "^5.2.0" @@ -12354,25 +12947,20 @@ }, "node_modules/wordwrapjs/node_modules/typical": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } }, "node_modules/workerpool": { "version": "6.5.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", - "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", "dev": true, "license": "Apache-2.0" }, "node_modules/wrap-ansi": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "license": "MIT", "dependencies": { @@ -12387,54 +12975,25 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/wrappy": { + "version": "1.0.2", "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } + "license": "ISC" }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/write-file-atomic": { + "version": "4.0.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "color-name": "~1.1.4" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" }, "engines": { - "node": ">=7.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" - }, "node_modules/ws": { "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=10.0.0" @@ -12454,8 +13013,6 @@ }, "node_modules/y18n": { "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, "license": "ISC", "engines": { @@ -12464,34 +13021,28 @@ }, "node_modules/yallist": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true, "license": "ISC" }, "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "version": "17.7.2", "dev": true, "license": "MIT", "dependencies": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "string-width": "^4.2.0", + "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/yargs-parser": { "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, "license": "ISC", "engines": { @@ -12500,8 +13051,6 @@ }, "node_modules/yargs-unparser": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dev": true, "license": "MIT", "dependencies": { @@ -12514,10 +13063,16 @@ "node": ">=10" } }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "21.1.1", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, "node_modules/yauzl": { "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, "license": "MIT", "dependencies": { @@ -12525,10 +13080,16 @@ "fd-slicer": "~1.1.0" } }, + "node_modules/yn": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index 0855a19..1b2533f 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "compile": "hardhat compile", "test": "hardhat test", + "test:trace": "hardhat test --trace", "test:unit": "jest", "deploy:localhost": "hardhat run scripts/deploy.js --network localhost", "deploy:mumbai": "hardhat run scripts/deploy.js --network mumbai", @@ -18,7 +19,9 @@ "verify:polygon": "hardhat verify --network polygon", "node": "hardhat node", "clean": "hardhat clean", - "setup:ai": "node scripts/setup-ai-chatbot.js" + "setup:ai": "node scripts/setup-ai-chatbot.js", + "security:slither": "slither contracts/CropChain.sol", + "security:mythril": "myth analyze contracts/CropChain.sol --solv 0.8.19" }, "keywords": [ "blockchain", @@ -32,36 +35,24 @@ "license": "MIT", "devDependencies": { "@eslint/js": "^9.9.1", - "@nomicfoundation/hardhat-chai-matchers": "^2.0.2", - "@nomicfoundation/hardhat-ethers": "^3.0.4", - "@nomicfoundation/hardhat-network-helpers": "^1.0.9", - "@nomicfoundation/hardhat-toolbox": "^6.1.0", - "@nomicfoundation/hardhat-verify": "^1.1.1", - "@typechain/ethers-v6": "^0.4.3", - "@typechain/hardhat": "^8.0.3", - "@types/chai": "^4.3.6", - "@types/jest": "^30.0.0", - "@types/mocha": "^10.0.2", + "@nomicfoundation/hardhat-toolbox": "^5.0.0", + "@types/jest": "^29.5.12", + "@types/node": "^20.0.0", "@types/react": "^18.3.5", "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.3.1", "autoprefixer": "^10.4.18", - "chai": "^4.3.8", - "cypress": "^15.9.0", + "cypress": "^13.6.0", "eslint": "^9.9.1", "eslint-plugin-react-hooks": "^5.1.0-rc.0", "eslint-plugin-react-refresh": "^0.4.11", - "ethers": "^6.7.1", "globals": "^15.9.0", - "hardhat": "^2.17.1", - "hardhat-gas-reporter": "^1.0.9", - "jest": "^30.2.0", + "hardhat": "^2.22.0", + "jest": "^29.7.0", "postcss": "^8.4.35", - "solidity-coverage": "^0.8.4", "tailwindcss": "^3.4.1", - "ts-jest": "^29.4.6", + "ts-jest": "^29.1.2", "ts-node": "^10.9.2", - "typechain": "^8.3.1", "typescript": "^5.5.3", "typescript-eslint": "^8.3.0", "vite": "^5.4.2" @@ -69,16 +60,17 @@ "dependencies": { "@types/qrcode": "^1.5.5", "@types/react-router-dom": "^5.3.3", - "dotenv": "^16.3.1", + "dotenv": "^16.4.5", + "ethers": "^6.11.0", "framer-motion": "^11.0.0", - "i18next": "^25.8.4", - "i18next-browser-languagedetector": "^8.2.0", - "idb": "^8.0.3", + "i18next": "^23.10.0", + "i18next-browser-languagedetector": "^7.2.0", + "idb": "^8.0.0", "lucide-react": "^0.344.0", "qrcode": "^1.5.4", "react": "^18.3.1", "react-dom": "^18.3.1", - "react-i18next": "^16.5.4", - "react-router-dom": "^7.7.1" + "react-i18next": "^14.1.0", + "react-router-dom": "^6.22.0" } -} \ No newline at end of file +} diff --git a/test/CropChain.security.test.js b/test/CropChain.security.test.js new file mode 100644 index 0000000..8924b5a --- /dev/null +++ b/test/CropChain.security.test.js @@ -0,0 +1,133 @@ +const { expect } = require("chai"); +const { ethers } = require("hardhat"); + +describe("CropChain Security Refactor", function () { + async function deployFixture() { + const [owner, farmer, mandi, transporter, retailer, attackerController] = await ethers.getSigners(); + + const CropChain = await ethers.getContractFactory("CropChain"); + const cropChain = await CropChain.deploy(); + await cropChain.waitForDeployment(); + + return { cropChain, owner, farmer, mandi, transporter, retailer, attackerController }; + } + + it("preserves core batch lifecycle and enforces stage-role checks", async function () { + const { cropChain, owner, farmer, mandi, transporter, retailer } = await deployFixture(); + + await cropChain.connect(owner).setRole(farmer.address, 1); // Farmer + await cropChain.connect(owner).setRole(mandi.address, 2); // Mandi + await cropChain.connect(owner).setRole(transporter.address, 3); // Transporter + await cropChain.connect(owner).setRole(retailer.address, 4); // Retailer + + const batchId = "CROP-2026-001"; + const batchHash = ethers.keccak256(ethers.toUtf8Bytes(batchId)); + + await cropChain.connect(farmer).createBatch( + batchId, + "Ramesh", + "Village Rampur", + "Wheat", + 500, + "2026-02-10", + "UP, India", + "Organic", + "QmMockCID123" + ); + + await cropChain.connect(mandi).updateBatch(batchHash, 1, "Mandi APMC", "Lucknow", "Received and graded"); + await cropChain.connect(transporter).updateBatch(batchHash, 2, "Truck-42", "NH-27", "In transit"); + await cropChain.connect(retailer).updateBatch(batchHash, 3, "Retail Hub", "Kanpur", "Stocked"); + + const updates = await cropChain.getBatchUpdates(batchHash); + expect(updates.length).to.equal(4); + + await expect( + cropChain.connect(mandi).updateBatch(batchHash, 3, "Bad Actor", "X", "Invalid transition") + ).to.be.reverted; + }); + + it("supports circuit breaker pause/unpause for external state-changing functions", async function () { + const { cropChain, owner, farmer } = await deployFixture(); + + await cropChain.connect(owner).setRole(farmer.address, 1); + + await cropChain.connect(owner).setPaused(true); + + await expect( + cropChain.connect(farmer).createBatch( + "CROP-2026-002", + "Sita", + "Village A", + "Rice", + 100, + "2026-02-11", + "Bihar", + "FPO", + "QmCID" + ) + ).to.be.revertedWith("Pausable: paused"); + + await cropChain.connect(owner).setPaused(false); + + await cropChain.connect(farmer).createBatch( + "CROP-2026-002", + "Sita", + "Village A", + "Rice", + 100, + "2026-02-11", + "Bihar", + "FPO", + "QmCID" + ); + + expect(await cropChain.getBatchCount()).to.equal(1); + }); + + it("blocks mock reentrancy attack on liquidity withdrawals", async function () { + const { cropChain, owner, attackerController } = await deployFixture(); + + const Attacker = await ethers.getContractFactory("ReentrancyAttacker"); + const attacker = await Attacker.connect(attackerController).deploy(await cropChain.getAddress()); + await attacker.waitForDeployment(); + + await cropChain.connect(owner).setRole(await attacker.getAddress(), 2); // Mandi role for attacker contract + + await attacker.connect(attackerController).depositToTarget({ value: ethers.parseEther("1.0") }); + + const initialLiquidity = await cropChain.mandiLiquidity(await attacker.getAddress()); + expect(initialLiquidity).to.equal(ethers.parseEther("1.0")); + + await attacker.connect(attackerController).initiateAttack( + ethers.parseEther("0.2"), + 3 + ); + + const finalLiquidity = await cropChain.mandiLiquidity(await attacker.getAddress()); + + expect(await attacker.reentryCount()).to.be.greaterThan(0n); + expect(await attacker.reentryBlocked()).to.equal(true); + expect(finalLiquidity).to.equal(ethers.parseEther("0.8")); + expect(await cropChain.totalLiquidity()).to.equal(ethers.parseEther("0.8")); + }); + + it("calculates TWAP from spot price observations", async function () { + const { cropChain, owner, mandi } = await deployFixture(); + + await cropChain.connect(owner).setRole(mandi.address, 2); + + await cropChain.connect(mandi).submitSpotPrice("Wheat", 100); + await ethers.provider.send("evm_increaseTime", [60]); + await ethers.provider.send("evm_mine", []); + + await cropChain.connect(mandi).submitSpotPrice("Wheat", 200); + await ethers.provider.send("evm_increaseTime", [60]); + await ethers.provider.send("evm_mine", []); + + const twap = await cropChain.getTwapPrice("Wheat", 120); + + expect(twap).to.be.greaterThan(100); + expect(twap).to.be.lessThan(200); + }); +});